2015-11-17 78 views
0

我目前正在開發一個項目,該項目要求具有多條路徑以達到相同的內容。該項目將有4個不同品牌,爲了爭辯,我們稱之爲品牌1,品牌2,品牌3和品牌4。向WordPress重寫添加輔助根URL

的願望是產生WordPress的重寫規則,使所有的以下哪項工作:

  • http://primaryurl.com/page-1(品牌1爲基礎URL)
  • http://primaryurl.com/brand2/page-1
  • http://primaryurl.com/brand3/page-1
  • http://primaryurl.com/brand4/page-2

這也將是真實的y自定義帖子類型存在,帖子等

我已經挖掘WP_Rewrite有點,但還沒有完全想出如何解決這個挑戰,並覺得我可能只是失去了一些東西。

我相信這可以通過大量的add_rewrite_rule()電話完成,但覺得必須有更好的方法。

在此先感謝您提供有關如何解決此問題的任何建議。

回答

0

我結束瞭解決這個如下:

$brands = array('brand2','brand3','brand4'); 

add_action('generate_rewrite_rules', function($wp_rewrite) { 
    global $brands; 

    $new_rewrite_rules = array(); 

    foreach ($brands as $brand) { 
     foreach ($wp_rewrite->rules as $regex => $redirect) { 
      $new_rewrite_rules[$brand . '/' . $regex] = $redirect; 
     } 
    } 

    //All rewrite rules are expected to be set at this moment 
    $wp_rewrite->rules = array_merge($new_rewrite_rules, $wp_rewrite->rules); 
});