register_taxonomy使用register_post_type的别名前缀
- 发表于
- WordPress
正常情况下,WordPress自定义文章类型完成后会有需要创建自定义分类法register_taxonomy,自定义分类法默认是使用系统固定连接格式做为它的URL前缀,比如我昨天新加的影视栏目,我在下面创建的地区(movie_area)/类别(movie_type)这两个自定义分类法,生成的默认URL格式是:
1 2 |
/page/movie_area/ /page/movie_type/ |
作为不折腾会死星人,我想要的效果是:
1 2 |
/movie/area /movie/type |
那么我为什么不能把创建的分类法直接改为area/type呢?
- 符合设计规范(分类法应以类别为前缀,以“_”分隔 )
- 命名保留:如type是已经被保留的,这么设置就会报404错误
- 分类法重复,其它自定义分类法也有同样需求
- 即使我直接改分类法成立,那前缀依然是page而不是我要的movie
以上,另寻他法。在翻阅了官方文档无果后,搜索引擎翻了很久很久,90%以上全是转载复制,或者相同的东西换个讲法,基本无用。当然最后解决了:
register_post_type中设置rewrite
1 |
'rewrite' => array( 'slug' => "movie", 'with_front' => true ), |
register_taxonomy中设置rewrite
1 |
'rewrite' => array( 'slug' => 'movie/area', 'with_front' => false ), |
固定格式处保存刷新rewrite,分类法命名也不用改,问题解决,效果看本站影视栏目。
原文连接:register_taxonomy使用register_post_type的别名前缀
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。