加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

使用两个域相同的数据库与不同的wordpress主题

发布时间:2021-03-06 13:23:29 所属栏目:MsSql教程 来源:网络整理
导读:我想在我的子目录中使用相同的数据库(内容/用户/评论/元/类别等)进行另一个wordpress安装. 我其实想要创建我的网站的移动版本.但我不想使用任何移动检测脚本ory css3媒体查询.只是想创建我的新主题(移动版) 例如; 主域名也有子域名; maindomain.com // roo

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

我其实想要创建我的网站的移动版本.但我不想使用任何移动检测脚本ory css3媒体查询.只是想创建我的新主题(移动版)

例如;

主域名也有子域名;

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

这怎么可能?

解决方法

关于WordPress的一个好处是代码中的大量钩子允许您扩展或覆盖核心功能.

解决此问题的一种方法是在vhost文件中为每个可以在WordPress引导过程中使用的站点设置Apache环境变量,以覆盖主题和基本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是主题的一部分,因此太晚了).这些过滤器将拦截并覆盖数据库中的主题设置.

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读