WooCommerce — как сделать возможность добавки только одного товара в корзину

Сегодня я поделюсь с вами маленьким трюком, как сделать возможным добавку только одного товара в корзину WooCommerce и в случае добавление нового, удалить предыдущий. Почему именно так? Расскажу свою случай: у меня заказали ландинг сайт на котором можно купить подписку на некую услугу прямо с главной страницы, и есть вариации подписки на месяц / два / шесть и на год.

Таким образом один покупатель может купить определённый тип подписки. Соответвтенно страницу корзины ему вообще не надо видеть, и мы можем влепить туда ридерект на чекаут. Естественно если покупатель где-то затупит и вернётся к покупке снова в корзине у него будет уже два товара, а так как я сделал пропуск страницы корзины, может возникнуть неприятная ситуация когда там будет два вида подписки и покупатель ничего не сможет с этим поделать кроме как закрыть сайт и уйти восвояси.

Вот собственно и назрело у меня решение, если покупатель добавляет что-либо в корзину, то всё, что там было заменяется новым заказом и его сразу редиректит на страницу чекаута. Для замены товара новым я использовал вот такой код в functions.php моей темы:

[code] /*
WooCommerce Only one item on the basket
*/
add_filter( ‘woocommerce_add_cart_item_data’, ‘_empty_cart’ );

function _empty_cart( $cart_item_data ) {

WC()->cart->empty_cart();

return $cart_item_data;
}

[/code]

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *