wp_is_mobile function

时间:2012-11-20 作者:Miqdad Ali

让我知道是否wp_is_mobile 该功能是否适用于所有移动和平板电脑设备?检查移动设备是否足够?

我发现这个方法wp-includes/vars.php

    function wp_is_mobile() {
    static $is_mobile;

    if ( isset($is_mobile) )
        return $is_mobile;

    if ( empty($_SERVER[\'HTTP_USER_AGENT\']) ) {
        $is_mobile = false;
    } elseif ( strpos($_SERVER[\'HTTP_USER_AGENT\'], \'Mobile\') !== false // many mobile devices (all iPhone, iPad, etc.)
        || strpos($_SERVER[\'HTTP_USER_AGENT\'], \'Android\') !== false
        || strpos($_SERVER[\'HTTP_USER_AGENT\'], \'Silk/\') !== false
        || strpos($_SERVER[\'HTTP_USER_AGENT\'], \'Kindle\') !== false
        || strpos($_SERVER[\'HTTP_USER_AGENT\'], \'BlackBerry\') !== false
        || strpos($_SERVER[\'HTTP_USER_AGENT\'], \'Opera Mini\') !== false ) {
            $is_mobile = true;
    } else {
        $is_mobile = false;
    }

    return $is_mobile;
}
如果我需要开发任何移动网站,我是否可以使用这种方法?

Edit

为什么wp使用服务器端脚本来检测移动设备?

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

不,它会失败的。实际上有数千个移动客户端,但并非所有客户端都发送可用的用户代理标头。有better ways 将站点调整为小屏幕(不需要像移动设备一样)。

使用客户端检测并提供切换视图的链接;将该选项保存在cookie中。

我认为常见的误解是手机==小屏幕。这个Nexus 10 像素比我的大桌面屏幕还多,而我的旧笔记本电脑运行的是Ubuntu桌面,显示的像素只有1024x768。Surface RT 配有1366x768像素、鼠标(触控板)、键盘和触摸界面。有些UAs只是not detectable.

哪一个会得到“移动优化”的布局?

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php