J'ai bloqué un curseur de contenu de largeur statique sur la page d'accueil de mes sites Wordpress. J'utilise le thème Twenty Eleven avec un petit morceau de code inclus dans index.php pour afficher le curseur. Malheureusement, en raison de la façon dont le thème gère les navigateurs mobiles, il provoque le déplacement du curseur sur l'écran sans que le reste du thème ne le suive. Alors je me demandais s'il y avait un moyen de cacher le curseur des navigateurs mobiles?
Le code inséré dans le thème est le suivant:
<?php if (function_exists('rps_show')) echo rps_show(); ?>
Et dans le contexte:
<?php
get_header(); ?>
<p><h1 style="font-size:200%">Todays' featured posts</h1>
<?php if (function_exists('rps_show')) echo rps_show(); ?>
</br>
<div id="primary">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
Des idées?
En fait, je recommanderais de le cacher avec CSS. C’est beaucoup plus facile que d’ajouter le code PHP nécessaire.
Vous feriez cela en ajoutant simplement des requêtes multimédia à votre feuille de style.
@media only screen and (max-device-width: 480px) {
.SliderClass{
display:none;
}
}
Vous pouvez ensuite ajouter tout CSS supplémentaire nécessaire pour que la version mobile soit correcte. Plus d'informations sur les requêtes des médias sont disponibles à l'adresse suivante:
C'est plus une question php qu'une question WP, mais il y a une fonction géniale ici qui fait ce que vous recherchez.
function is_mobile() {
// Get the user agent
$user_agent = $_SERVER['HTTP_USER_AGENT'];
// Create an array of known mobile user agents
// This list is from the 21 October 2010 WURFL File.
// Most mobile devices send a pretty standard string that can be covered by
// one of these. I believe I have found all the agents (as of the date above)
// that do not and have included them below. If you use this function, you
// should periodically check your list against the WURFL file, available at:
// http://wurfl.sourceforge.net/
$mobile_agents = Array(
// List of mobile agents
);
// Pre-set $is_mobile to false.
$is_mobile = false;
// Cycle through the list in $mobile_agents to see if any of them
// appear in $user_agent.
foreach ($mobile_agents as $device) {
// Check each element in $mobile_agents to see if it appears in
// $user_agent. If it does, set $is_mobile to true.
if (stristr($user_agent, $device)) {
$is_mobile = true;
// break out of the foreach, we don't need to test
// any more once we get a true value.
break;
}
}
return $is_mobile;
}
Vous pouvez ensuite appeler la fonction pour envelopper tout ce que vous voulez comme ceci:
if (is_mobile()) {
// Place code you wish to execute if browser is mobile here
}
else {
// Place code you wish to execute if browser is NOT mobile here
}