gpt4 book ai didi

wordpress - 使用具有不同 wordpress 主题的两个域相同的数据库

转载 作者:行者123 更新时间:2023-12-01 09:31:57 27 4
gpt4 key购买 nike

我想在我的子目录中使用相同的数据库(内容/用户/评论/元/类别等)安装另一个 wordpress。

我实际上想创建我的网站的移动版本。但我不想使用任何移动检测脚本或 css3 媒体查询。只想创建我的新主题(移动版)

例如;

主域也有子域;

maindomain.com // root
mobile.maindomain.com // sub directory

这怎么可能?

最佳答案

WordPress 的一大优点是代码中的大量钩子(Hook)允许您扩展或覆盖核心功能。

解决此问题的一种方法是在您的 vhost 文件中为每个站点设置一个 Apache 环境变量,以便在 WordPress 引导过程中使用该变量来覆盖主题和基本 URL 设置。

例如在 Apache vhost 中添加:

SetEnv WP_CONTEXT main

SetEnv WP_CONTEXT mobile

(如果您使用不同的网络服务器,则或等效)。

在 wp-config.php 中:

switch ($_SERVER['WP_CONTEXT']) {
case 'main':
define('WP_HOME','http://maindomain.com');
define('WP_SITEURL','http://maindomain.com');
break;

case 'mobile':
define('WP_HOME','http://mobile.maindomain.com');
define('WP_SITEURL','http://mobile.maindomain.com');
break;
}

这将根据环境变量设置基本 URL。

然后在插件中添加以下过滤器:

add_filter('template', 'change_theme');
add_filter('option_template', 'change_theme');
add_filter('option_stylesheet', 'change_theme');

function change_theme()
{
switch ($_SERVER['WP_CONTEXT']) {
case 'main':
return 'main';
break;

case 'mobile':
return 'mobile';
break;
}

这需要在插件中,以便在正常的主题加载过程之前加载(functions.php 是主题的一部分,因此为时已晚)。这些过滤器将拦截并覆盖数据库中的主题设置。

关于wordpress - 使用具有不同 wordpress 主题的两个域相同的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14381099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com