Khi thêm 1 sản phẩm vào giỏ hàng bằng AJAX, hệ thống sẽ tự động đếm số lượng của mini cart và cập nhật lại danh sách sản phẩm trong mini cart.
<div class="basket-item-count">
<span class="cart-items-count">
<?php
echo WC()->cart->get_cart_contents_count();
?>
</span>
</div>
Mặc định, nếu dùng thẻ a có class là cart-contents sẽ được đếm tự động. Trong ví dụ bên trên sẽ sử dụng thẻ span có class là cart-items-count.
<div class="widget_shopping_cart_content">
<?php
echo woocommerce_mini_cart();
?>
</div>
Đối với nội dung của giỏ hàng, sử dụng thẻ div với class là widget_shopping_cart_content.
add_filter( 'woocommerce_add_to_cart_fragments', 'cart_count_fragments', 10, 1 );
function cart_count_fragments( $fragments ) {
$fragments['div.basket-item-count'] = '<div class="basket-item-count"><span class="cart-items-count">' . WC()->cart->get_cart_contents_count() . '</span></div>';
return $fragments;
}
Khi WooCommerce cập nhật cart fragments, hệ thống sẽ thêm thẻ div.basket-item-count vào trong mảng với nội dung đúng với đoạn code đầu tiên trong bài này.