2011-08-24 27 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,非常感謝您的幫助。我會在今天嘗試。 –