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

WooCommerce修改Shop面包屑名称与链接:代码无效求助

解决WooCommerce中Shop面包屑URL的问题

嘿,你之前用的woocommerce_page_title钩子确实只能改页面标题,和面包屑完全不搭边,难怪没效果😂。要搞定面包屑的URL或者显示内容,得用专门针对面包屑的钩子才行。

下面给你两个实用方案,按需挑就行:

方案1:直接删掉面包屑里的Shop项

如果你压根不想让Shop出现在面包屑里,用这个代码就能移除它:

add_filter( 'woocommerce_get_breadcrumb', 'remove_shop_breadcrumb_item', 20, 1 );
function remove_shop_breadcrumb_item( $crumbs ) {
    // 遍历面包屑数组,找到Shop那一项就删掉
    foreach( $crumbs as $key => $crumb ) {
        if( $crumb[0] === 'Shop' ) { // 要是你的面包屑显示的是中文“商店”,就改成对应的文本
            unset( $crumbs[$key] );
            // 删掉后重新整理数组索引,避免空键问题
            $crumbs = array_values( $crumbs );
            break;
        }
    }
    return $crumbs;
}

方案2:修改Shop面包屑的文本和URL

要是你不想移除,只是想改它的显示文字或者跳转链接,用这个代码:

add_filter( 'woocommerce_get_breadcrumb', 'customize_shop_breadcrumb_item', 20, 1 );
function customize_shop_breadcrumb_item( $crumbs ) {
    foreach( $crumbs as $key => $crumb ) {
        if( $crumb[0] === 'Shop' ) {
            // 把显示文本改成你想要的,比如“我的分类集合”
            $crumbs[$key][0] = '我的分类集合';
            // 把URL换成你指定的分类页面链接,替换成你的分类别名就行
            $crumbs[$key][1] = get_term_link( 'your-category-slug', 'product_cat' );
            break;
        }
    }
    return $crumbs;
}

注意:代码里的your-category-slug要换成你实际的分类别名,比如你有个“数码产品”分类,别名是digital-products,就替换成这个。

另外,如果你想彻底不让用户访问主Shop页面,还可以加个跳转规则,用户一进Shop页面就自动跳转到指定分类:

add_action( 'template_redirect', 'redirect_shop_page_to_category' );
function redirect_shop_page_to_category() {
    if( is_shop() ) {
        // 同样替换成你要跳转的分类URL
        wp_redirect( get_term_link( 'your-category-slug', 'product_cat' ), 301 );
        exit;
    }
}

最后提醒下:这些代码都可以加到主题的functions.php文件里,或者用代码片段插件来添加,千万别直接改WooCommerce的核心文件,不然插件更新后你的修改就没啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:17:58