永久链接重写自定义帖子类型分类归档


WordPress: permalink rewrite for custom post type category archive

我有一个自定义的帖子类型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并重新保存你的永久链接以正确地"冲洗"它们,以使其工作