我有一个自定义的帖子类型resource
。此自定义帖子类型与帖子共享category
分类法。
对于给定的类别术语存档,例如url: /category/reducing-inequality/
,我希望有一个额外的url,仅显示该类别的资源自定义帖子类型。我可以通过使用查询字符串来实现:
category/reducing-inequality/?post_type=resource
我想做的是创建一个重写规则,将这个类别存档(上面的URL)重写为/resource/category/reducing-inequality
这可能吗?任何指导是非常感激的,谢谢!
这正是add_rewrite_rule()
的作用。我会这样做:
function custom_resource_rewrite_rules() {
add_rewrite_rule('^('w+)/category/([A-Za-z0-9'-'_]+)/?', 'category/$matches[2]/?post_type=$matches[1]', 'top');
}
add_action('init', 'custom_resource_rewrite_rules');
当然,你可以直接将resource
传递给重写…但以上是一个更通用的解决方案,将适用于任何自定义的帖子类型。
注意:你可能需要前往WP-Admin并重新保存你的永久链接以正确地"冲洗"它们,以使其工作