最近在论坛和WordPress讨论群里面看到,有些朋友一直讨论wp判断手机设备问题

很多朋友给出了自定义判断手机浏览器的函数,效果也都挺好的,

但是,我查询了一下官方文档,发现在wp3.4版本中引入了一个更强大,更方便方便使用的函数wp_is_mobile()

使用这个函数可以自动检测出当前访客使用的浏览设备是不是手机,并返回一个布尔值,实现主体的响应式设计。

 

使用方法:

if(wp_is_moblile()){
    echo '你正在使用移动设备浏览';
}else{
    echo '你目前使用的不是移动设备';
} 

 

看上面的一段代码,现在有了这个功能强大的函数,

完全可以使用来显示不同的判断哪部分内容要加载,哪部分不用加载,

还可以使用这个函数来改变不同的class,为不同的设备书写不同的样式,从而达到完美的效果。

 

让我们来看这个函数的源代码

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

从源代码中我们可以看出,这个功能强大的函数,

已经可以识别很多的移动设备的浏览器了,包括Iphone,ipad, android, silk, kindle ,BlackBerry,Opera Mini以及Opera Mini。

这基本上已经满足了所有的移动设备了!

 

当然,网页自适应移动设备,还有其他方案,例如media

详见米扑博客:PC端网页自适应手机屏幕大小