Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将次根URL添加到WordPress重写_Php_Wordpress_Url Rewriting - Fatal编程技术网

Php 将次根URL添加到WordPress重写

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

我目前正在从事一个项目,该项目要求有多条路径指向相同的内容。该项目将有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_规则调用来实现,但感觉必须有更好的方法


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

我最后用以下方法解决了此问题:

$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);
} );