Як автоматично оновити кошик WooCommerce при зміні кількості товару
Привіт:) У цій короткій замітці покажу як автоматично оновлювати кошик при зміні кількості товару у ньому.
За замовчуванням у плагіні WooCommerce можна оновити кошик лише по кнопці. Щоб додати автоматичне його оновлення без встановлення окремого плагіну, виберіть один із варіантів та додайте код у свій файл functions.php.
// ВАРІАНТ 1
function mp_autom_cart_update_after_changes_the_goods_quantity() {
// Перевірка, якщо сторінка є Кошиком
if ( ! is_cart() ) {
return;
}
?>
<script>
jQuery(function($) {
var delay;
// Вішаємо "слухача".
$('.woocommerce').on('change', 'input.qty', function() {
if (undefined !== delay) {
clearTimeout(delay);
}
// Затримка у півсекунди, щоб не генерувати лишні запити на сервер
delay = setTimeout(
function() {
// Клікаємо на кпоку оновлення Кошика
$('[name="update_cart"]').trigger('click');
}, 500
);
});
});
</script>
<style>
/* Ховаємо кнопку */
.woocommerce[name="update_cart"] {display: none;}
</style>
<?php
}
add_action( 'wp_footer', 'mp_autom_cart_update_after_changes_the_goods_quantity' );
// ВАРІАНТ 2
function mp_autom_cart_update_after_changes_the_goods_quantity() {
if ( is_cart() ) :
?>
<script>
jQuery('div.woocommerce').on('change', '.button', function(){
jQuery("[name='update_cart']").trigger("click");
});
</script>
<?php
endif;
}
add_action( 'wp_footer', 'mp_autom_cart_update_after_changes_the_goods_quantity' );