Скрытие php-элемента из мобильных браузеров

Я запустил ползунок содержимого статической ширины на первой странице сайта WordPress. Я использую тему Twenty Eleven с небольшим фрагментом кода, включенным в index.php, чтобы отобразить слайдер. К сожалению, из-за того, как тема обрабатывает мобильные браузеры, это заставляет ползунок проталкивать экран без остальной темы, следующей за ним. Поэтому мне было интересно, есть ли способ скрыть слайдер от мобильных браузеров?

Код, вставленный в тему, выглядит следующим образом:

<?php if (function_exists('rps_show')) echo rps_show(); ?> 

И в контексте:

  <?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; ?> 

Есть идеи?

Я бы рекомендовал скрывать его с помощью CSS. Это намного проще, чем добавление необходимого PHP-кода.

Вы сделали бы это, просто добавив Media Queries в таблицу стилей.

 @media only screen and (max-device-width: 480px) { .SliderClass{ display:none; } } 

Затем вы можете добавить любой дополнительный CSS, необходимый для правильной работы мобильной версии. Более подробную информацию о медиа-запросах можно найти по адресу:

  • Запросы CSS Media – CSSTricks.com и
  • Как использовать мультимедийные запросы CSS3 для создания мобильной версии вашего сайта – SmashingMagazine.com .

Это скорее вопрос php, чем вопрос WP, но здесь есть отличная функция, которая делает то, что вы ищете.

 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; } 

Затем вы можете вызвать функцию, чтобы обернуть все, что вы хотите, как это:

 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 }