更改自定义分类URL插件模式

时间:2012-09-11 作者:JasonDavis

下面是我的网站的URL布局是如何使用一个名为book 和一个名为book_tag

我对Wordpress为我的自定义标记分类法编写URL的方式不满意。下面是我的新帖子类型和分类法当前如何编写URL的示例,以及我希望它如何编写URL。

Custom Post Type Name: book
Custom Taxonomy Name/Type: book_tag
正在查看自定义帖子类型的索引。。。

website.com/{custom-post-type}/
查看自定义帖子类型的单个页面。。。

website.com/{custom-post-type}/{post-name} 
查看链接以用于自定义帖子类型的自定义标记分类法

website.com/{custom-taxonomy-type}/{taxonomy-name} 
我希望自定义分类法看起来更像是在这样的自定义帖子类型下。。。

website.com/{custom-post-type}/{custom-taxonomy-type}/{taxonomy-name} 
甚至更好。。。

website.com/{custom-post-type}/tag/{taxonomy-name}  
所以目前,一个带有slug“css”的标签是这样写的。。。

http://website.com/book-tag/css/  
我希望它更像这样。。。

http://website.com/book/book-tag/css/ or http://website.com/book/tag/css/ 
那么我的问题是,这可能吗?要使URL结构显示自定义分类法,使其位于自定义帖子类型下?

1 个回复
最合适的回答,由SO网友:JasonDavis 整理而成

在阅读了大约20多篇关于这里的帖子后,这就是我想到的。。。

在此示例中http://test.com/{custom-post-type}/tag/{custom_taxonomy_name}/

http://test.com/book/tag/css/

我要做的就是这样。

//http://test.com/book/tag/css/
function custom_taxonomies_rewrite(){
    add_rewrite_rule(\'^book/tag/([^/]*)/?\',\'index.php?book_tag=$matches[1]\',\'top\');
}
add_action(\'init\',\'custom_taxonomies_rewrite\');
我不确定该怎么称呼它,但现在它被称为init 行动这似乎是只应调用一次,然后重新写入重建的文件。

如果这看起来是正确的方法,请告诉我应该从何处调用此代码init 还是另一个动作/钩子?

结束

相关推荐