WordPress:永久链接重写自定义帖子类型类别存档

时间:2015-09-24 20:43:17

标签: php wordpress .htaccess rewrite custom-post-type

我有自定义帖子类型resource。此自定义帖子类型与帖子共享category分类。

对于给定的类别术语存档,例如url:/category/reducing-inequality/,我希望有一个额外的URL,仅显示该类别的资源自定义帖子类型。我可以使用查询字符串来执行此操作:

category/reducing-inequality/?post_type=resource

我想要做的是创建一个重写规则,该规则将包含此类别存档(上面的URL),而是重写为/resource/category/reducing-inequality

这可能吗?非常感谢任何指导,谢谢!

1 个答案:

答案 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并重新保存固定链接以正确“刷新”它们,以便使其正常工作。