在我们之前的一篇文章《wordpress手机主题调度插件Any Mobile Theme Switcher - wordpress日记 (wp-diary.com)》中,我们可以使用这个插件实现wordpress在PC端和移动端使用不同的主题(使用同一个后台,同一套数据),但是这个插件并不能同时实现PC端和移动端使用不同的域名,如果想要同时实现这两个功能,只需要将下面代码放到您两个主题的functions.PHP中即可(注意:使用下面的代码的话,就不需要上面这个插件了哦):
function wpdiary_switch_theme_based_on_device_and_domain() {
$current_domain = $_SERVER['HTTP_HOST'];
// 定义不同设备和域名对应的主题
$desktop_domain = 'plugins.wp-diary.com';//PC端域名
$mobile_domain = 'pluginstwo.wp-diary.com';//移动端域名
if (wp_is_mobile()) {
// 如果是移动端访问
if ($current_domain === $mobile_domain) {
switch_theme('twentytwentyfour'); // 将 'twentytwentyfour' 替换为移动端主题的目录名
} else {
wp_redirect('http://' . $mobile_domain . $_SERVER['REQUEST_URI'],301);
exit;
}
} else {
// 如果是桌面端访问
if ($current_domain === $desktop_domain) {
switch_theme('twentytwentytwo'); // 将 'twentytwentytwo' 替换为桌面端主题的目录名
} else {
wp_redirect('http://' . $desktop_domain . $_SERVER['REQUEST_URI'],301);
exit;
}
}
}
add_action('template_redirect','wpdiary_switch_theme_based_on_device_and_domain');
注意:要将代码中的两个域名替换成您对应的域名哦!
大家可以看一下下面的效果: