我认为,在注册自定义分类法时定义自定义重写段塞时,仍然需要添加自定义重写规则。
add_action(\'init\',\'my_add_rewrite_rules\');
function my_add_rewrite_rules() {
add_rewrite_rule( \'rights/category/(.+)/page/([0-9]{1,})/?$\', \'index.php?post_type=rights&category=$matches[1]&paged=$matches[2]\', \'top\' );
add_rewrite_rule( \'rights/category/(.+)/?$\' , \'index.php?post_type=rights&category=$matches[1]\' , \'top\' );
}
为了添加正确的重写规则,我需要自定义帖子类型和自定义分类注册的代码。另外,不要忘记通过访问WP admin area->settings->permalinks刷新重写规则。
我可以通过自己的测试确认@G.M.是正确的(见问题的第一条评论)。如果您使用单数名称注册您的cptright
并设置has_archive
对plurgal slug的论证rights
, 海关rewrite
中的参数register_taxonomy
您使用的将在没有任何自定义重写规则的情况下工作。因此,您可以注册cptregister_post_type(\'right\', $args)
哪里$args[\'has_archive\'] = \'rights\'
. 但现在您将拥有:
域。com/rights/>用于存档视图域。com/right/a-custom-post/>用于单个自定义帖子视图。com/rights/taxonomy-slug/term-slug/>术语归档视图因此,我仍然更喜欢用复数slug注册cutom post类型,并添加重写规则,以便具有更一致的永久链接结构(所有URL都将包含“rights”slug):
域。com/rights/>用于存档视图域。com/rights/a-custom-post/>用于单个自定义帖子视图。com/rights/taxonomy-slug/term-slug/>术语存档视图