记录下用m做wordpress移动站的教程。

安装插件 Domain Theme ,此款插件,可以添加N多个域名,并指定不同的主题,当然用来做m二级域名的移动站,更简单,插件比较简单,不做介绍。

接着,用js通过判断手机浏览器由www跳转到m域名。

function isMobileBrowser(){
    var result=false;
    var sUserAgent= navigator.userAgent.toLowerCase();  
    var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";  
    var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";  
    var bIsMidp= sUserAgent.match(/midp/i) == "midp";  
    var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";  
    var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";  
    var bIsAndroid= sUserAgent.match(/android/i) == "android";  
    var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";  
    var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";
    if(bIsIpad||(window.screen.height>=768&&window.screen.width>=1024)){
        result=false;
    }
    else if (bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {  
        result=true; 
    }
    else
    {  
        result=false;
    }
    return result;
}

if(isMobileBrowser()){
    var currentHref=location.href;
    currentHref=currentHref.replace("www.","m.");
    location.href=currentHref;
}

到此,最基本的教程已经结束,但是还不完美,因为m域名中查看源码,会发现有好多资源,如css、js 都是引用www的。

根据WordPress的优先级,我们可以通过下面的代码覆盖数据库里面的这两个设置,也就是一个wordpress数据库绑定多个域名的方法。

$home = 'http://'.$_SERVER['HTTP_HOST']; #获取当前访问的域名
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);

把上面的代码放入到wp-config.php文件中,(找到wp-config的require_once(ABSPATH . ‘wp-settings.php’);在它的前面添加上面代码)。

到此,如果不安装缓存插件,教程已经结束了。


但是,因为wordpress的臃肿,我们平常不得不安装一些个缓存插件来对它进行加速。这里推荐hyper cache。它可以分别缓存pc站和手机站的内容。

如果主题是自适应的,推荐使用cos-html-cache,真正的纯静态缓存插件,关于原理,请阅读:wordpress的缓存插件cos-html-cache的源码解读

Last modification:April 11th, 2020 at 09:18 pm
如果觉得我的文章对你有用,请随意赞赏