从 Woocommerce 面包屑中删除“商店”

Lot*_*tus 4 php wordpress breadcrumbs woocommerce

我没有主商店页面,只有产品类别。Woocommerce 面包屑总是在我需要删除的面包屑中显示“商店”痕迹。在 Woo 文档中,我只能提供有关如何更改“home”slug 或分隔符,或如何完全删除面包屑的信息。我如何简单地删除“商店”线索?

编辑:我不想更改/更改“商店”路径的名称/链接,而是将其完全删除!

Loi*_*tec 8

要从 Woocommerce 面包屑中完全删除“商店”,请使用以下命令:

add_filter( 'woocommerce_get_breadcrumb', 'remove_shop_crumb', 20, 2 );
function remove_shop_crumb( $crumbs, $breadcrumb ){
    foreach( $crumbs as $key => $crumb ){
        if( $crumb[0] === __('Shop', 'Woocommerce') ) {
            unset($crumbs[$key]);
        }
    }

    return $crumbs;
}
Run Code Online (Sandbox Code Playgroud)

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。

  • 值得一提的是,在取消设置某些项目后,您必须“重新索引”数组。如果你不这样做,面包屑就会破裂!而不是“return $crumbs;”,你必须“return array_values($crumbs);” (2认同)

小智 8

这对我有用,看起来 woocommerce 考虑了 crumbs 数组中的索引。

add_filter('woocommerce_get_breadcrumb', 'remove_shop_crumb', 20, 2);
function remove_shop_crumb($crumbs, $breadcrumb)
{
    $new_crumbs = array();
    foreach ($crumbs as $key => $crumb) {
        if ($crumb[0] !== __('Shop', 'Woocommerce')) {
            $new_crumbs[] = $crumb;
        }
    }
    return $new_crumbs;
}
Run Code Online (Sandbox Code Playgroud)

我希望这对某人有所帮助 谢谢