Custom Ajax update cart trong page cart
Fri Sep 12 2025 06:59:45 GMT+0000 (Coordinated Universal Time)
Saved by
@vanthien
khi click vào nut tăng giảm số trong thì call
timeout = setTimeout(function () {
jQuery("[name='update_cart']").trigger("click");
}, 1000);
$(document.body).on('added_to_cart', function( event, fragments ) {
var cartCount = $(fragments['span.mega-menu-woo-cart-count']).text();
$('.cart_count').each(function(){
$(this).text(cartCount);
});
}).on( 'updated_cart_totals', function(){
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
dataType: 'json',
data: { 'action': 'get-cart-total' },
success: function( data ) {
$('.cart-subtotal td').html( data.subtotal );
//$('.woocommerce-shipping-totals td').html( data.shipping );
$('.order-total td').html( data.total );
console.log(2);
$('.custom-order-total-price').html( data.total );
}
});
});
add_action( 'wp_ajax_get-cart-total', 'get_cart_total' ); // wp_ajax_{ЗНАЧЕНИЕ ПАРАМЕТРА ACTION!!}
add_action( 'wp_ajax_nopriv_get-cart-total', 'get_cart_total' ); // wp_ajax_nopriv_{ЗНАЧЕНИЕ ACTION!!}
// первый хук для авторизованных, второй для не авторизованных пользователей
function get_cart_total(){
wp_die( json_encode([
'shipping' => WC()->cart->get_cart_shipping_total(),
'subtotal' => WC()->cart->get_cart_subtotal(),
'total' => WC()->cart->get_total(),
]) );
}
content_copyCOPY
Comments