我已经创建了这个新的重写规则,但它匹配一些模式,但在两者相同时不匹配其他模式。例如:
对于category/resources/newsletters/2017,它加载了category-newsletters.php,但是对于category/resources/newsletters/2014,我看到了404页。
(每次更改重写规则时,我都生成permalink结构)
remove_filter('template_redirect', 'redirect_canonical');
function cd_rewrite_rule() {
add_rewrite_rule('^category/resources/newsletters/([0-9]+)/?','index.php?category_name=newsletters&year=$matches[1]','top');
add_rewrite_tag('%year%', '([0-9]+)');
}
add_action('init', 'my123_rewrite_rule');使用调试插件,我发现对相同的模式请求应用了不同的查询字符串。
category/resources/newsletters/2017 => year=2017&category_name=newsletters
category/resources/newsletters/2014 => category_name=newsletters&name=2014
发布于 2017-09-26 14:59:12
听起来,您的术语相互矛盾--例如,您有一个名为name的分类法,它包含年份值,但也包含年份值。最安全的方法是巩固,这样你就不会与重复的子弹有任何条款。否则,WP会继续对你要求的是哪一个感到困惑。
https://wordpress.stackexchange.com/questions/281041
复制相似问题