Php 将次根URL添加到WordPress重写
我目前正在从事一个项目,该项目要求有多条路径指向相同的内容。该项目将有4个不同的品牌,为了便于论证,我们将这些品牌称为brand1、brand2、brand3和brand4 我们的目标是为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 这也适用于任何现有的自定义帖子类型、帖子等 我已经深入研究了一下WP_Rewrite,但还没有完全弄清楚如何解决这个挑战,我觉得我可能只是错过了一些东西 我相信这可以通过大量的add_rewrite_规则调用来实现,但感觉必须有更好的方法Php 将次根URL添加到WordPress重写,php,wordpress,url-rewriting,Php,Wordpress,Url Rewriting,我目前正在从事一个项目,该项目要求有多条路径指向相同的内容。该项目将有4个不同的品牌,为了便于论证,我们将这些品牌称为brand1、brand2、brand3和brand4 我们的目标是为WordPress生成重写规则,以便以下所有功能都能正常工作: http://primaryurl.com/page-1 品牌1是基本URL http://primaryurl.com/brand2/page-1 http://primaryurl.com/brand3/page-1 http://primar
提前感谢您提供有关如何解决此问题的任何建议。我最后用以下方法解决了此问题:
$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);
} );