当产品从 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);
});
});
我也遇到了同样的问题。我在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();
});
您可能还会注意到,如果没有计算任何项目,我将重新加载页面。这是因为我想显示除空表之外的其他内容。
希望这能引导您走向正确的方向。