Last updated on 9月 8th, 2023 at 10:52 上午
自定义文章类型 CPT
- Has Archive,
比如新建了一个文章类型为 movie,把has archive设置为True的时候,就会自动出现一个yourdomain.com/movie的页面,如果没有写slug,那么会用cpt的slug,而且在menu里面是找不到的,你可以添加一个空白的page,把slug设置为movie,这样就可以在menu里面看到它
同理,新文章类型为product,设置has archive为true的时候,把slug也填写一下,添加一个空白的page,把slug设置为跟这里一样,这样就可以在menu里面看到它,但是貌似这个字符串不能跟custom rewriter slug重复。
- with front, 如英文解释
比方说,为了便于统计不同类型的文章的阅读数量,我把博客的permalink设置为 /blog/%category%/%postname%/ ,
这会导致全局的single post都会带 “/blog/”,包括cpt的post,也包括cpt的 分类法;
而我们希望只是博客文章前缀“/blog”,不希望cpt的文章和分类法带“/blog/”这四个字母,
那么就把cpt里面的 with front设置false即可,这样该cpt就不继承博客的前缀,不需要其他插件支持。 - custom rewrite slug
自定义分类法 custom taxonomies
- 没有has archive选项,因为它本来就是一种archive,所以无法false;
- with front 和自定义文章类型的作用一样,默认设置为true,就会继承post类型的前缀,
所以一般都是设置为false
但是有时候希望在分类法的前面带上”自定义文章类型CPT的slug“,
比如,现在cpt类型moive下面设置了自定义分类(custom taxonomies)“按地区分类”,下面有3个category:
- 港台
- 大陆
- 欧美
希望这些分类的路径显示为
- yourdomain.com/movie/按地区分类/港台 而不是 yourdomain.com/按地区分类/港台
- yourdomain.com/movie/按地区分类/大陆 而不是 yourdomain.com/按地区分类/大陆
- yourdomain.com/movie/按地区分类/欧美 而不是 yourdomain.com/按地区分类/欧美
这个时候,就需要用到插件 Custom Post Type Permalinks,也就是勾选use custom permalink of custom taxonomy arvhice 这一行。
在实际使用过程中,有时候一个分类法适用于多个文章类型,
比如“按地区分类”不仅作用于“movie”这个cpt,还作用于“电视剧”这个cpt,比如”港台“这个分类,
那么它到底是港台的电影,还是港台的电视剧呢?
这就需要勾选最后一行,可以分开查询,从而出现2个结果。
- yourdomain.com/movie/按地区分类/港台
- yourdomain.com/电视剧/按地区分类/港台
Permalink Manager Lite
这个插件比较直观,可以在单页面设置slug,而且选项很多,可惜pro版本太贵了119欧元 life time