下面是我的网站的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结构显示自定义分类法,使其位于自定义帖子类型下?
最合适的回答,由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
还是另一个动作/钩子?