将辅助根URL添加到WordPress重写

时间:2015-11-17 09:36:37

标签: php wordpress url-rewriting

我目前正在开发一个项目,该项目要求具有相同内容的多个路径。该项目将有4个不同的品牌,为了争论,我们称之为品牌1,品牌2,品牌3和品牌4。

希望为WordPress生成重写规则,以便以下所有方法都能正常工作:

  • http://primaryurl.com/page-1(品牌1是基本网址)
  • http://primaryurl.com/brand2/page-1
  • http://primaryurl.com/brand3/page-1
  • http://primaryurl.com/brand4/page-2

对于任何存在,帖子等的自定义帖子类型也是如此。

我已经挖掘了WP_Rewrite一点但是我们还没有想出如何解决这个挑战,并觉得我可能只是遗漏了一些东西。

我相信这可以通过大量add_rewrite_rule()来电来完成,但感觉必须有更好的方式。

提前感谢有关如何解决此问题的任何建议。

1 个答案:

答案 0 :(得分: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);
} );