WordPress有个判断手机端的函数wp_is_mobile(),是WordPress 3.4.0版本增加的一个内置函数,作用是检测当前浏览器是否运行在智能手机、平板电脑等移动设备上。
但某些情况下,这个函数并不能满足我们的需求,比如我们要分别判断 iPhone、Android以及iPad等等,在这个情况下,wp_is_mobile() 是明显不够用的,那么我们可以自己增加一点代码来判断各种移动端设备。
将以下代码添加到当前使用的WordPress主题的functions.php文件中
// 添加移动端设备判断函数 function is_ipad() { // 只检测iPad $is_ipad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad'); if ($is_ipad) return true; else return false; } function is_iphone() { // 只检测iPhone $cn_is_iphone = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPhone'); if ($cn_is_iphone) return true; else return false; } function is_ios() { // 检测所有iOS设备 if (is_iphone() || is_ipad()) return true; else return false; } function is_android() { // 检测所有android设备 $is_android = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Android'); if ($is_android) return true; else return false; } function is_android_mobile() { // 只检测Android手机 $is_android = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Android'); $is_android_m = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Mobile'); if ($is_android && $is_android_m) return true; else return false; } function is_android_tablet() { // 只检测Android平板电脑 if (is_android() && !is_android_mobile()) return true; else return false; } function is_mobile_device() { // 检测Android手机、iPhone if (is_android_mobile() || is_iphone()) return true; else return false; } function is_tablet() { // 检测Android平板电脑和iPad if ((is_android() && !is_android_mobile()) || is_ipad()) return true; else return false; }
是不是挺简单,HTTP_USER_AGENT是用来检测访问者在用什么操作系统(包括版本号)和浏览器(包括版本号)。