使用两个域名不同wordpress主题相同的数据库(using two domain same da

2019-07-18 08:54发布

我想用,同一个数据库,(内容/用户/评论/元的/类别等)又一个WordPress安装在我的子目录。

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

例如;

主域也子域等;

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

这怎么可能呢?

Answer 1:

一个关于WordPress的好东西是在代码钩子允许扩展或覆盖核心功能的大量。

解决这个问题的一种办法是在可能在WordPress引导过程中使用为忽略的主题和基本URL设置每个站点的虚拟主机文件来设置一个Apache环境变量。

例如,在Apache的虚拟主机地址:

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的是主题的一部分,因此太晚了)。 这些过滤器将拦截并从数据库中过度乘坐的主题设置。



Answer 2:

你不能做到这一点直接,作为WP存储在其数据库URL。 据我所知,有一种方法在SQL中“链接”表,所以它可能是方式 - 链接wp_options例如旁边的一切,但它仍然是一个棘手的方式。



文章来源: using two domain same database with different wordpress theme