WordPress添加_重写_规则第二个参数不起作用

时间:2018-05-05 作者:Colen_br

我正在尝试使用add\\u rewrite\\u rule()解决我遇到的分页问题。经过大量研究,我知道了答案。但add\\u rewrite\\u rule()的第二个参数似乎永远都不起作用。

add_action( \'init\', \'add_category_base_rewrite_rule\' );
function add_category_base_rewrite_rule() {
  add_rewrite_rule(
    \'publicacoes/(.+?)/page/?([0-9]{1,})/?$\',
    \'index.php?post_type=artigo&category_name=$matches[1]&paged=$matches[2]\',
    \'top\' 
  );
}
我正在使用插件Debug This 检查重写规则

enter image description here

如您所见,第二个参数与我在函数中输入的参数不匹配。不管我做什么,它都不起作用。

我知道函数正在被调用,因为它将我的规则置于首位。

我做错了什么?

1 个回复
SO网友:mmm

在重写刷新时,自定义post类型创建的重写规则将覆盖您的规则,因为目标是相同的。

要避免这种情况,可以使用此筛选器

const TAXONOMY_PUBLICACOES = "publicacoes";

add_filter(TAXONOMY_PUBLICACOES . "_rewrite_rules", function ($rules) {

    unset($rules["publicacoes/(.+?)/page/?([0-9]{1,})/?$"]);

    return $rules;

});

结束

相关推荐