2011-08-24 61 views
0

我正在寻找在移动子域中显示相同的WordPress博客,并在子文件夹中显示主域。这将如下所示:在example.com/blog/上显示WordPress和m.example.com/blog/

  • example.com/blog/(与主旋律和客户化)
  • m.example.com/blog/(与移动主题的定制)

然而,这是可能的还是我需要从主博客安装一个单独的博客和重复的内容到移动博客?

PS - 这是一个在这个阶段的测试环境,我将处理用户代理切换和重复内容考虑事项。

回答

0

这是可行的,但你没有简单的不显眼的解决方案。

有一个简单的方法可以做到这一点。哈克核心,找到wp_set_wpdb_vars()wp-includes/load.php$prefix = $wpdb->set_prefix($table_prefix);后马上补充一点:

if($_SERVER['SERVER_NAME'] == 'm.domain.tld'){ 
    $wpdb->options = "mobile_{$wpdb->options}"; 
    $wpdb->postmeta = "mobile_{$wpdb->postmeta}"; 
    $wpdb->commentmeta = "mobile_{$wpdb->commentmeta}"; 
}else{ 
    $wpdb->options = "mobiless_{$wpdb->options}"; 
    $wpdb->postmeta = "mobiless_{$wpdb->postmeta}"; 
    $wpdb->commentmeta = "mobiless_{$wpdb->commentmeta}"; 
} 

这一招将沙箱options and metas成两套不同的表。这样他们不会覆盖,但如果你使用不同的安装插件设置。如果您可以控制插件并防止设置冲突,则只需对沙盒options table进行沙箱即可。

在你wp-config.php你需要这样做:

if($_SERVER['SERVER_NAME'] == 'm.domain.tld'){ 
    require_once(dirname(__FILE__).'/wp-config-mobile.php'); 
}else{ 
    require_once(dirname(__FILE__).'/wp-config-mobiless.php'); 
} 

既要有相同的设置(数据库,前缀)除了WP_SITEURLWP_HOME。如果您未在wp-config.php中严格定义WP_HOMEWP_SITEURL,则可以使用一个文件。

+0

谢谢5ubiminal,非常感谢您的帮助。我会在今天尝试。 –