Минимальное и максимальное значения поля количества товара для добавления в корзину

В этом уроке я хочу показать вам, как в коде задать минимальное и максимальное значения для поля выбора, сколько товаров вы хотите добавить в корзину.

Также про корзину WooCommerce на моём сайте есть отдельный видеоурок, вот ссылка.

Поля выбора количества товара для добавления в корзину
На странице товара, рядом с кнопкой «В корзину», есть поле, в котором мы можем задать количество товара, которое мы хотим добавить в корзину.

Фильтр-хук woocommerce_quantity_input_args позволяет переписать параметры по умолчанию для поля количества товара. Кроме того, этот хук работает не только на странице товара, но и в самой корзине, т.к. там тоже есть такие счетчики.

Счетчики количества товара в корзине WooCommerce
В корзине покупатель тоже может указать количество товара, которое он хочет приобрести, и тут мы тоже можем задать свои минимальные и максимальные значения.

Прежде, чем мы перейдём к коду, который к слову нужно вставлять в functions.php, я хочу напомнить, что есть и другие факторы, которые влияют на эти значения полей количества – например сколько товара доступно на складе.

add_filter( 'woocommerce_quantity_input_args', 'truemisha_quantity_changes', 25, 2 );
 
function truemisha_quantity_changes( $args, $product ) {
 
	if ( ! is_cart() ) { // не корзина
 
		$args[ 'min_value' ] = 4;
		$args[ 'max_value' ] = 10;
 
 
	} else { // корзина
 
		$args[ 'max_value' ] = 10;
 
	}
 
	return $args;
 
}
  • Я уже упоминал, что поле с количеством товара существует и на странице самого товара и в корзине, поэтому мы можем использовать условный тег is_cart(), если хотим задать разные значения, кроме того, значение $args[ 'min_value' ] в Корзине равно нулю, что означает удаление товара из корзины.
  • Среди доступных для изменения параметров существуют также $args['input_value'] – какое количество отображать по умолчанию, когда покупатель только попадает на страницу товара и $args['step'] – на сколько увеличивать/уменьшать количество при нажатии на стрелки.
  • Когда мы модифицируем минимальное и максимальное количество товара, нам также нужно помнить, что мы не должны давать возможность совершать заказ, об этом подробнее здесь.

Исходя из того, что $product – это объект товара, мы можем задать например максимальное значение количества, в котором этот товар может быть добавлен в корзину при помощи кода:

add_filter( 'woocommerce_quantity_input_args', 'truemisha_max_product_qty', 25, 2 );
 
function truemisha_max_product_qty( $args, $product ) {
 
	if( 25 == $product->get_id() ) { // ID товара
 
		$args[ 'max_value' ] = 1; // не более одного
 
	}
 
	return $args;
 
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 3

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал