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

如何仅在WooCommerce面包屑一级分类移除product-category标识

WooCommerce 仅移除一级分类面包屑的product-category标识方案

可以通过WooCommerce原生过滤器实现需求,无需修改核心文件,将以下代码添加到当前主题的functions.php文件,或者自定义代码片段插件中即可生效:

add_filter( 'woocommerce_get_breadcrumb', 'remove_first_level_cat_product_category_prefix', 20, 2 );
function remove_first_level_cat_product_category_prefix( $crumbs, $breadcrumb ) {
    foreach ( $crumbs as $key => $crumb ) {
        // 仅处理商品分类类型的面包屑项
        if ( isset( $crumb[1] ) && strpos( $crumb[1], 'product-category' ) ) {
            $term_id = url_to_postid( $crumb[1] );
            if ( !$term_id ) continue;
            $product_cat = get_term( $term_id, 'product_cat' );
            // 判断是否为无父级的一级分类
            if ( $product_cat && $product_cat->parent == 0 ) {
                $crumbs[$key][1] = str_replace( 'product-category/', '', $crumb[1] );
            }
        }
    }
    return $crumbs;
}

注意事项

  • 代码部署后,需要前往WordPress后台「设置」-「固定链接」页面点击保存,刷新重写规则后才会生效
  • 如果你的站点提前自定义过商品分类的固定链接前缀,需要将代码中product-category/替换为你实际使用的前缀
  • 如果你使用的主题自带自定义面包屑功能,需要先切换为WooCommerce原生面包屑,该代码才会生效
  • 测试时可分别打开一级分类页和子分类页,确认仅一级分类的链接中product-category标识被移除,子分类对应标识正常保留

内容的提问来源于stack exchange,提问作者Raavs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 00:54:04