向移动浏览器隐藏php元素

时间:2012-05-08 作者:Nikolai Baker

我在Wordpress网站首页上贴了一个静态宽度内容滑块。我使用的是二十一主题,索引中包含了一小段代码。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; ?>
有什么想法吗?

3 个回复
SO网友:SickHippie

这是一个php问题,而不是WP问题,但有一个很好的函数here 这就是你想要的。

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
}

SO网友:Eric K

实际上,我建议用CSS隐藏它。这比添加必要的PHP代码要容易得多。

您只需将媒体查询添加到样式表中即可完成此操作。

@media only screen and (max-device-width: 480px) {
    .SliderClass{
        display:none;
    }  
}
然后,您可以添加任何额外的CSS,以使移动版本看起来正确。有关媒体查询的更多信息,请访问:

SO网友:Bunty

wp_is_mobile() 是你的事。

结束

相关推荐

筛选器‘REQUEST’和‘PARSE_QUERY’不会在sites.php或link-ranger.php中触发

我在试着sortable columns 在网站和链接列表管理页面中。/wp-admin/network/sites.php 和/wp-admin/link-manager.php问题是这些屏幕中没有启动以下过滤器,从而阻止了查询修改。是否有其他方法可以使用?function site_category_column_orderby( $vars ) { //global $firephp; //$firephp->log($vars, \'vars\');