如何让WordPress固定链接仅显示主分类,移除父分类路径
解决方案:移除WordPress固定链接中的父分类
方法1:利用RankMath SEO插件设置
既然你已经在用RankMath,直接用它的内置功能就能解决:
- 进入后台「RankMath > SEO > 链接」页面
- 找到「分类链接」区域,将「分类基础」设置为空(不要留任何字符)
- 往下找到「主分类优先」选项,勾选「使用主分类来生成文章链接」
- 保存设置后,进入「设置 > 固定链接」页面,点击「保存更改」刷新WordPress重写规则
方法2:添加自定义代码
如果RankMath的设置未生效,可以通过代码强制只保留主分类的slug:
- 安装并激活「Code Snippets」插件(或备份主题后直接编辑
functions.php文件) - 添加以下代码片段并激活:
function keep_only_primary_child_category_in_permalink( $permalink, $post ) { if ( $post->post_type !== 'post' ) return $permalink; // 获取RankMath标记的主分类ID $primary_cat_id = get_post_meta( $post->ID, 'rank_math_primary_category', true ); if ( empty( $primary_cat_id ) ) return $permalink; $primary_cat = get_category( $primary_cat_id ); if ( ! $primary_cat ) return $permalink; // 替换原链接中的父分类部分 $permalink = str_replace( get_category_parents( $primary_cat->parent, false, '/', true ), '', $permalink ); return $permalink; } add_filter( 'post_link', 'keep_only_primary_child_category_in_permalink', 20, 2 );
- 完成后进入「设置 > 固定链接」页面,点击「保存更改」刷新规则
方法3:使用Permalink Manager Lite插件
这个插件能更灵活地控制固定链接结构:
- 安装并激活「Permalink Manager Lite」插件
- 进入插件设置页,找到「Permalink Structure」,将文章的结构设置为
/%category%/%postname%/ - 切换到「Advanced Options」标签,勾选「Use only the primary category in permalinks」和「Exclude parent categories from permalinks」
- 保存设置后刷新固定链接规则
注意:修改链接结构后,建议设置301重定向避免旧链接失效影响SEO,可通过RankMath的重定向功能或专门的重定向插件实现。
内容的提问来源于stack exchange,提问作者Shahzad S.
相关产品推荐
相关产品推荐

