设置伪静态后,使用 wordpress 自定义分类法创建的分类目录 URL 会带有分类法名称,如创建产品的自定义分类法名称为“product”,创建一个分类目录别名为“theme”,那么这个分类的默认 URL 就是https://www.boke8.net/product/theme
这样的结构, url 中的product
对于强迫症的人来说着实显得有点多余,比如我就难以接受,因此就找方法把它去掉。
在网上搜索一翻,只找到设置'rewrite' => array( 'slug' => '/', 'with_front' => FALSE )
方法,该方法显然不大科学,以及不大通用遂放弃,辗转之下在 WordPress 官网插件中心找到插件 Remove Taxonomy Base Slug,虽然该插件已经有8年没有更新,但经博客吧测试仍然可以使用。
插件介绍
Remove Taxonomy Base Slug 插件是用于去除目录URL前缀的 wordpress 插件,支持默认分类(Category)、标签(post_tag)、自定义分类法(taxonomy),且只去除分类法别名,不会去掉父分类别名。
作者对插件的描述是:
如果你想在你的自定义文章类型文章中添加一些更好的永久链接,那么这个插件可以帮助你实现这一点。
如果术语与post类型具有相同的slug,那么分类法的优先级高于post类型。
如:
原URL
site.com/taxonomy/cars
新URL
site.com/cars
原URL
site.com/taxonomy/cars/bmw
新
site.com/cars/bmw
插件使用
1、下载插件:前往插件主页下地载 https://wordpress.org/plugins/remove-taxonomy-base-slug/(或者在后台插件中搜索安装)
PS:由于该插件长期没更新,可能会被 WordPress 官网隐藏下载地址,如果没有下载按钮,可以使用
https://downloads.wordpress.org/plugin/remove-taxonomy-base-slug.zip
这个链接试试。
2、安装启用插件后,在后台——插件中会生成菜单“Remove Taxonomy Base Slug”,点击进入设置界面
“Select taxonomies” 列表会显示当前网站存在的自定义分类法,选择要修改URL的自定义分类法,然后点击“Apply Changes”按钮保存
3、进入后台——设置——固定链接,重新保存按钮重新保存一次即可。
温馨提示
Remove Taxonomy Base Slug插件只支持选择一个分类法,如果有多个分类法,可以把插件的单选设置修改为多选设置(适合有一定代码基础的用户),或者直接修改插件源文件里的$taxonomies
变量,手动添加自定义分类法名称,这个比较简单,博客吧就是这样使用的。