这是一个小插件,就一个文件,根据用户设备的USER AGENT来做判断,如果是移动设备则wordpress展示移动主题,如果是电脑,则展示电脑主题。事先你需要在theme目录下放好两个主题文件夹以备启用。
代码如下:
<?php
/*
Plugin Name: 移动端主题切换
Plugin URI: http://redren.net
Description: 根据用户访问设备,智能地在电脑端和移动端主题之间切换
Version: 1.0.0
Author: David Zhang
Author URI: http://redren.net/
*/
if (!function_exists('theme_Mobile')) {
function theme_Mobile()
{
//判断手机发送的客户端标志
if (isset($_SERVER['HTTP_USER_AGENT'])) {
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
$clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'opera mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile');
// 从HTTP_USER_AGENT中查找手机浏览器的关键字
if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", $userAgent) && strpos($userAgent, 'ipad') === false) {
return true;
}
}
return false;
}
}
function angela_switch_theme($theme)
{
if (theme_Mobile()) {
$theme = 'sparkling-mobile';
}
return $theme;
}
add_filter('template', 'angela_switch_theme');
add_filter('stylesheet', 'angela_switch_theme');
演示可以看 http://www.99ayi.com 网站在社区部分针对移动端做了更多的美化。