17713433920 info@mac163.com
WordPress不同的User Agent启用不同域名以及不同主题
WordPress不同的User Agent启用不同域名以及不同主题

最近在给客户开发WordPress主题的过程中,遇到了一项需求:对手机设备采用不同的主题以及不同的域名,两个站点同步更新。手机移动设备采用单独的主题在WEUI主题的制作过程中已经使用过相关的技术,但是当时手机和电脑是同一个站点,经过和客户沟通确认,技术层面实现方式如下:采用同一个站点,通过判断用户的UA,绑定不同的域名,调用不同的主题。

相关代码如下,使用方法:(写成插件)

//针对不同的设备起用不同的域名
class themetuts_theme_and_domain_switch{
private $mobile_domain;
private $pc_domain;
private $site_url;
private $request;
private $current_domain;
public function __construct(){
$current_domain = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
$current_domain .= '://'.$_SERVER['HTTP_HOST'];
$this->mobile_domain = 'http://m.mac163.com';
$this->pc_domain = 'http://www.mac163.com';
$this->site_url = site_url();
$this->request = $_SERVER['REQUEST_URI'];
$this->current_domain = $current_domain;
add_action('init', array($this, 'tw_switch_mobile_domain'));
}
public function tw_switch_mobile_domain(){
if(wp_is_mobile()){
if($this->current_domain != $this->mobile_domain){
wp_redirect($this->mobile_domain . ':80' . $this->request);
exit;
}
define('WP_HOME', $this->mobile_domain);
define('WP_SITEURL', $this->mobile_domain);
}else{
if($this->current_domain != $this->pc_domain){
wp_redirect($this->pc_domain . ':80' . $this->request);
exit;
}
define('WP_HOME', $this->pc_domain);
define('WP_SITEURL', $this->pc_domain);
}
}


}
new themetuts_theme_and_domain_switch();
//根据浏览器对主题进行切换,设置的是主题文件夹的名称
function themetuts_theme_switch($theme){
if( wp_is_mobile() ){
$theme = 'twentyseventeen';
}else{
$theme = 'Project';
}
return $theme;
}
add_filter( 'template', 'themetuts_theme_switch' );
add_filter( 'stylesheet', 'themetuts_theme_switch' );Copy

微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部