WordPress函数:wp_is_mobile 判断是否是移动设备

追格官方小助手/ 2023年01月31日/ WordPress/ 浏览 1557

现在移动设备数量越来越多,在开发 WordPress 主题时,不得不考虑不同设备上的表现,判断当前设备是否是移动设备是常见的需求之一。


WordPress函数 wp_is_mobile 就是专门判断是否是移动设备的函数。


函数原型:


wp_is_mobile(): bool


函数源码:


function wp_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
		|| strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera Mobi' ) !== false ) {
			$is_mobile = true;
	} else {
		$is_mobile = false;
	}

	/**
	 * Filters whether the request should be treated as coming from a mobile device or not.
	 *
	 * @since 4.9.0
	 *
	 * @param bool $is_mobile Whether the request is from a mobile device or not.
	 */
	return apply_filters( 'wp_is_mobile', $is_mobile );
}


从源码中可以看出,判断方式就是依据 user agent。


使用举例:


<?php if ( wp_is_mobile() ) : ?>
	/* Display and echo mobile specific stuff here */
<?php else : ?>
	/* Display and echo desktop stuff here */
<?php endif; ?>


发表评论

暂无评论,抢个沙发...

客服 工单