Обложка к записи Автообновление корзины WooCommerce
Время для прочтения: 1 мин. 41 сек.

Автообновление корзины WooCommerce

Простой сниппет для автоматическоого обновления корзины в WooCommerce при изменении количества товара.

Общий смысл такой: на странице корзины добавляем скрипт в футере сайта, который вешает «слушателя» на поле с количеством товара.

При изменении этого поля делаем програмный клик на кнопку обновления корзины. При этом саму кнопку мы скрываем стилями, чтобы всё было по красоте.

Подключаем скрипт в футер, для чего цепляемся за хук wp_footer в файле functions.php вашей дочерней темы:

add_action(
	'wp_footer',
	function() {
		// Проверяем, что это страница корзины.
		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
	}
);

Ссылки

ВКонтакте
Pinterest
Telegram
WhatsApp

Предыдущая запись

Комментарии