在您的function.php
添加
add_action(\'init\', \'my_mobile_redirect\');
function get_first_url_subdir() {
return str_replace( str_replace( array(\'http://\', \'https://\'), \'\', get_site_url() ), \'\', $_SERVER[\'SERVER_NAME\'] . $_SERVER[\'REQUEST_URI\']);
}
function redirect_mobile_with_cookie() {
$cookiename = \'redirect_mobile_is_a_mobile_device\';
if ( isset($_COOKIE[$cookiename]) && ($_COOKIE[$cookiename] == \'yes\') && strpos(get_first_url_subdir(), \'/mobile\') !== 0)
return true;
return false;
}
function my_mobile_redirect(){
if ( redirect_mobile_with_cookie() ) {
wp_redirect( get_site_url() . \'/mobile/\');
exit();
} elseif ( strpos(get_first_url_subdir(), \'/mobile\') !== 0 && wp_is_mobile() ) {
$cookiename = \'redirect_mobile_is_a_mobile_device\';
setcookie($cookiename, \'yes\');
wp_redirect( get_site_url() . \'/mobile/\');
exit();
}
}
以前的函数与Wordpress配合使用
wp_is_mobile
不区分平板电脑和手机的功能。
如果需要区分平板电脑和手机,可以使用脚本Mobile Detect. 下载,放入文件夹。我想这里的semplicityMobile_Detect.php
驻留在主题根目录中。
以下功能正常工作in combination 用上面三个。
function my_adv_mobile_redirect() {
if ( redirect_mobile_with_cookie() ) {
wp_redirect( get_site_url() . \'/mobile/\');
exit();
} else {
@include_once( trailingslashit(TEMPLATEPATH) . \'Mobile_Detect.php\' );
if ( ! class_exists(\'Mobile_Detect\') ) return my_mobile_redirect();
$detect = new Mobile_Detect;
// redirects only phones
if (strpos(get_first_url_subdir(), \'/mobile\') !== 0 && ($detect->isMobile() && ! $detect->isTablet())) {
$cookiename = \'redirect_mobile_is_a_mobile_device\';
setcookie($cookiename, \'yes\');
wp_redirect( get_site_url() . \'/mobile/\');
exit();
}
}
}
如果要使用此高级函数,只需将前面代码中的init操作替换为:
add_action(\'init\', \'my_adv_mobile_redirect\')