register_taxonomy使用register_post_type的别名前缀

正常情况下,WordPress自定义文章类型完成后会有需要创建自定义分类法register_taxonomy,自定义分类法默认是使用系统固定连接格式做为它的URL前缀,比如我昨天新加的影视栏目,我在下面创建的地区(movie_area)/类别(movie_type)这两个自定义分类法,生成的默认URL格式是:

作为不折腾会死星人,我想要的效果是:

那么我为什么不能把创建的分类法直接改为area/type呢?

  • 符合设计规范(分类法应以类别为前缀,以“_”分隔 )
  • 命名保留:如type是已经被保留的,这么设置就会报404错误
  • 分类法重复,其它自定义分类法也有同样需求
  • 即使我直接改分类法成立,那前缀依然是page而不是我要的movie

以上,另寻他法。在翻阅了官方文档无果后,搜索引擎翻了很久很久,90%以上全是转载复制,或者相同的东西换个讲法,基本无用。当然最后解决了:

register_post_type中设置rewrite

register_taxonomy中设置rewrite

固定格式处保存刷新rewrite,分类法命名也不用改,问题解决,效果看本站影视栏目。

参考:WordPress自定义文章类型和自定义分类法