[wp经验] 不同设备对应不同二级域名与主题

共计1395字,阅读大约5分钟。

实现方法

采用同一个站点,通过判断用户的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.xxx.com';
$this->pc_domain = 'http://www.xxx.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
温馨提示:本文最后更新于2022-09-19 23:31:35,某些文章具有时效性,若有错误或已失效,请在下方留言或联系雅舍站长
© 版权声明
THE END
有所帮助就支持一下吧
点赞6当赏 分享
箴言区 抢沙发
头像
达瓦里希请发言...
提交
头像

昵称

取消
昵称表情代码图片