JQuery Ajax Add to cart Woocommece WP
Bài viết kết hợp: Thêm giỏ hàng và redirect ( add to cart 2nd)
Function in theme
function crispshop_add_cart_single_ajax() {
$product_id = $_POST['product_id'];
$variation_id = $_POST['variation_id'];
$quantity = $_POST['quantity'];
if ($variation_id) {
WC()->cart->add_to_cart( $product_id, $quantity, $variation_id );
} else {
WC()->cart->add_to_cart( $product_id, $quantity);
}
}
add_action('wp_ajax_crispshop_add_cart_single', 'crispshop_add_cart_single_ajax');
add_action('wp_ajax_nopriv_crispshop_add_cart_single', 'crispshop_add_cart_single_ajax');
JQuery function
jQuery('.single_add_to_cart_button').click(function(e) {
e.preventDefault();
jQuery(this).addClass('adding-cart');
var product_id = jQuery(this).val();
var variation_id = jQuery('input[name="variation_id"]').val();
var quantity = jQuery('input[name="quantity"]').val();
console.log(quantity);
/**
jQuery("#nhc-overlay").css("display", "block");
**/
if (variation_id != '') {
jQuery.ajax ({
url: crispshop_ajax_object.ajax_url,
type:'POST',
data:'action=crispshop_add_cart_single&product_id=' + product_id + '&variation_id=' + variation_id + '&quantity=' + quantity,
success:function(results) {
/**
jQuery('.cart-dropdown-inner').append(results);
var cartcount = jQuery('.item-count').html();
jQuery('.cart-items-count').html(cartcount);
jQuery('.single_add_to_cart_button').removeClass('adding-cart');
**/
jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
setTimeout(function () {
jQuery("#nhc-overlay").css("display", "none");
}, 1800);
}
});
} else {
jQuery.ajax ({
url: crispshop_ajax_object.ajax_url,
type:'POST',
data:'action=crispshop_add_cart_single&product_id=' + product_id + '&quantity=' + quantity,
success:function(results) {
jQuery('html, body').animate({ scrollTop: 0 }, 'slow');
setTimeout(function () {
jQuery("#nhc-overlay").css("display", "none");
}, 1800);
}
});
}
});
end