我有自定义帖子类型resource
。此自定义帖子类型与帖子共享category
分类。
对于给定的类别术语存档,例如url:/category/reducing-inequality/
,我希望有一个额外的URL,仅显示该类别的资源自定义帖子类型。我可以使用查询字符串来执行此操作:
category/reducing-inequality/?post_type=resource
我想要做的是创建一个重写规则,该规则将包含此类别存档(上面的URL),而是重写为/resource/category/reducing-inequality
这可能吗?非常感谢任何指导,谢谢!
答案 0 :(得分:2)
这正是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并重新保存固定链接以正确“刷新”它们,以便使其正常工作。