我目前正在开发一个项目,该项目要求具有相同内容的多个路径。该项目将有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()
来电来完成,但感觉必须有更好的方式。
提前感谢有关如何解决此问题的任何建议。
答案 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);
} );