删除woocommerce迷你购物车中的缩略图和链接,过滤无效

时间:2017-09-14 14:45:53

标签: wordpress woocommerce hook-woocommerce

我正在尝试从WooCommerce StoreFront主题中删除产品缩略图。我将它们的每个实例一般从店面中移除,包括购物车,但不包括主导航/菜单栏中的迷你卡。

钩子是相同的,他们只是不适用。

我的过滤器

add_filter( 'woocommerce_cart_item_thumbnail', '__return_false' );

来自cart.php第68行:

$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );

来自mini-cart.php第38行:

$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );

这适用于我试图将其移除的购物车,但不会将其从迷你卡中移除。

作为minicart问题的第二个例子,我也从标题中删除了产品链接。这有效,它会从购物车项目中删除链接(以及查看订单时的结帐),但仍然不是来自minicart。

过滤

add_filter( 'woocommerce_cart_item_name', 'mad_remove_cart_product_link', 1, 3 );
function mad_remove_cart_product_link( $product_link, $cart_item, $cart_item_key ) {
    $product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    return "0" . $product->get_title() . "0";
}
<{3}} 第83行的

cart.php
<{1}}的第37行

echo apply_filters( 'woocommerce_cart_item_name', sprintf( '<a href="%s">%s</a>', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key );

过滤器中产品标题每端的可见mini-cart.php仅用于调试。它们显然出现在购物车中,结帐的审核区域,但不在迷你网中

2 个答案:

答案 0 :(得分:1)

只需将另一个产品添加到购物车即可,您将看到您的代码正常运行。 WooCommerce使用sessionStorage,因此只要购物车没有更新,它就不会发送任何新的ajax请求,而是使用来自sessionStorage的值:)

答案 1 :(得分:0)

将此添加到您的子主题functions.php

add_filter( 'woocommerce_mini_cart_item_name_permalink', '__return_null' );