Автоматическое обновление итогов корзины при изменении количества товаров в корзине в Woocommerce

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

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');

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

Заранее благодарны за Вашу помощь.

Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Что нового в PHP 8.1?
Что нового в PHP 8.1?
Если вы все еще используете PHP 7, то эта статья для вас. В PHP 8, а именно в PHP 8.1, встроены некоторые очень востребованные функции, которые вам...
Разработка LMS на заказ для повышения эффективности работы и обучения
Разработка LMS на заказ для повышения эффективности работы и обучения
За последние годы в образовании произошла большая революция, и сегодня почти все учебные заведения делают упор на эксклюзивное управление учебным...
1
0
1 836
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужно использовать его как делегированное событие 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.

Другие вопросы по теме