当我们安装主题和插件时,都会向…
最近在给客户开发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开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!