removed_from_cart 不适用于 Woocommerce

问题描述 投票:0回答:1

当产品从 Woocommerce 中的购物车中删除时,我尝试使用

removed_from_cart
更新计数器,但它不起作用。 Woocommerce 最近进行了重大更新,但我无法阅读文档 -removed_from_cart 已更改吗? 从购物车中删除产品后,我应该如何更新计数器?当我将产品添加到购物车时,计数器会正确更新。谢谢

标题.php

<div class="cart">
  <a href="<?php echo wc_get_cart_url(); ?>" class="cart-link">
    <img class="mr-2" src="<?php echo get_template_directory_uri() . '/assets/images/koszyk.svg' ?>">
    <span class="cart-count"><?php echo WC()->cart->get_cart_contents_count(); ?></span>
  </a>
</div>

app.js

jQuery(function($) {
    $(document.body).on('added_to_cart', function() {
        var cartCount = parseInt($('.cart-count').text());
        cartCount++;
        $('.cart-count').text(cartCount);
    });

    $(document.body).on('removed_from_cart', function() {
        var cartCount = parseInt($('.cart-count').text());
        cartCount--;
        $('.cart-count').text(cartCount);
    });
});
php jquery woocommerce
1个回答
0
投票

我也遇到了同样的问题。我在sup#cart_contents_count中有一个购物车计数,并希望使其与购物车中的商品数量保持准确,但removed_from_cart没有触发。在我的网站上,购物车计数是每行,这一点值得一提,因为这可能不是默认值。我最终使用了 Updated_wc_div 事件,如下所示:

$(document.body).on('updated_wc_div', function(e){
    const itemRowCount = $('table.cart tr.cart_item').length;
    const el = document.querySelector('sup#cart_contents_count');
    if( itemRowCount && el ){
        el.textContent = itemRowCount;
        return true;
    }
    location.reload();
});

您可能还会注意到,如果没有计算任何项目,我将重新加载页面。这是因为我想显示除空表之外的其他内容。

希望这能引导您走向正确的方向。

© www.soinside.com 2019 - 2024. All rights reserved.