WordPress判断各种移动端设备的函数

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是用来检测访问者在用什么操作系统(包括版本号)和浏览器(包括版本号)。