You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WordPress子子分类的Slug URL仅显示最后一级分类名称?

解决WordPress子分类URL仅显示最后一级slug的问题

要实现子子分类URL只显示最后一级分类名称(如https://example.com/subsub/),需要修改WordPress的分类重写规则,同时注意避免slug冲突问题,以下是具体实现方案:

方法一:通过代码自定义重写规则

在主题(推荐用子主题)的functions.php文件中添加以下代码:

// 自定义分类重写规则,仅保留最后一级slug
function custom_category_rewrite_rules($rules) {
    $new_rules = [];
    // 匹配单slug结构的URL,指向对应分类
    $new_rules['([^/]+)/?$'] = 'index.php?category_name=$matches[1]';
    // 让新规则优先于默认层级规则生效
    return $new_rules + $rules;
}
add_filter('category_rewrite_rules', 'custom_category_rewrite_rules');

// 主题激活时自动刷新重写规则
function custom_flush_rewrite_rules() {
    flush_rewrite_rules();
}
add_action('after_switch_theme', 'custom_flush_rewrite_rules');

注意事项:

  • slug唯一性:所有分类(父分类、各级子分类)的slug必须唯一,否则会出现URL冲突,WordPress无法正确匹配对应分类页面。
  • 刷新重写规则:添加代码后,进入WordPress后台「设置」→「固定链接」页面,点击「保存更改」,手动触发重写规则刷新,确保新规则生效。
  • 子主题使用:若使用主主题,更新主题会覆盖functions.php中的自定义代码,因此推荐使用子主题存放这段代码。

方法二:通过插件实现

可以使用支持自定义分类URL结构的WordPress SEO类插件,在插件的分类URL设置选项中,选择「仅显示最后一级分类slug」的模式。使用插件时同样需要确保所有分类slug唯一,避免URL冲突。

内容的提问来源于stack exchange,提问作者jimi-del

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 05:37:40