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

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

Также про корзину 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;
 
}

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.