Автоматическое обновление итогов корзины при изменении количества товаров в Woocommerce - PullRequest
1 голос
/ 22 мая 2019

Я пытаюсь обновлять общую сумму корзины каждый раз, когда количество товара в корзине увеличивается или уменьшается автоматически. Я попробовал приведенный ниже код, но он не работает все время, работает только один раз после обновления страницы корзины;

function update_cart_refresh_update_qty() {
    if (is_cart()) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        $('.qty').on('change', function(){
            setTimeout(function() {//This is set, so it gives the update cart button time to enable from disable mode
                $('input[name="update_cart"]').trigger('click');
            }, 2000);

        });
    });
    </script>
    <?php
    endif;
}
add_action( 'wp_footer', 'update_cart_refresh_update_qty');

Я бы хотел, чтобы итоговая сумма корзины (кнопка обновления корзины активировалась) обновлялась каждый раз при изменении количества товара.

Заранее спасибо за помощь.

1 Ответ

1 голос
/ 22 мая 2019

Вам необходимо использовать его как делегированное событие document.body (для событий change и input) следующим образом:

add_action( 'wp_footer', 'update_cart_on_item_qty_change');
function update_cart_on_item_qty_change() {
    if (is_cart()) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        $(document.body).on('change input', '.qty', function(){
            $('button[name="update_cart"]').trigger('click');
            // console.log('Cart quantity changed…');
        });
    });
    </script>
    <?php
    endif;
}

Код входит в functions.phpфайл вашей активной дочерней темы (или активной темы).Протестировано и работает.

Похоже: Избегайте запуска функции только один раз при нажатии кнопки в корзине WooCommerce

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...