Разрешаем добавление только одного товара в корзину в WooCommerce
Продолжаем с читателями нашего сайта решать нестандартные задачи, и сегодня на повестке дня у нас вопрос о том, как ограничить выбор пользователей лишь одним товаром из числа множества на вашем сайте в WooCommerce в CMS WordPress.
Начинающий вебмастер может сказать: «А зачем это может быть нужно?». Ответ прост – это нужно тогда, когда ваш магазин не предполагает приобретение сразу нескольких товаров. Хорошим примером здесь является сайт туроператора.
На таком сайте находятся товары – путевки в разные страны, и человек может выбрать только одну, что вполне логично.
Ограничение на количество выбираемых товаров в данном случае позволит формировать правильную цену, а также сохранить свободные места в путевках.
Чтобы добавить необходимый функционал на ваш сайт, в низ файла functions.php, который находится в папке вашей темы, вставьте код:
function one_item_in_cart($valid, $product_id, $quantity) {
global $woocommerce;
$cart = $woocommerce->cart->empty_cart();
if(!empty($cart) && $valid) {
$woocommerce->cart->empty_cart();
return $valid;
}
return $valid;
}
add_filter("woocommerce_add_to_cart_validation", "one_item_in_cart", 10, 3);
На что здесь стоит обратить внимание?
Каждый новый добавленный товар в корзину будет удалять старый. Таким образом, в корзине всегда будет только 1 товар, а вот его количество можно будет изменить. Это удобно, если за количество вы приняли, например, дни.