У меня есть один переменный продукт X, у которого есть два варианта: Вариации A и Вариации B.
Если клиент добавил вариант A в корзину, то я хочу заблокировать клиента для добавления вариантов B в корзину. За один раз клиент может заказать только один из вариантов этого продукта.
Я добавил приведенный ниже код, но он не работает должным образом, потому что, если я добавил один вариант продукта X в корзину, то я попытался добавить другой продукт Y в корзину, который не добавляется в корзину.
Мой код текущего кода следующий.
function wph_add_the_cart_validation_for_zoomarine_e_ticket( $passed ) {
// The product id of variable product X
$product_id = 44050;
$in_cart = false;
foreach( WC()->cart->get_cart() as $cart_item ) {
$product_in_cart = $cart_item['product_id'];
if ( $product_in_cart === $product_id ) $in_cart = true;
}
if ( $in_cart ) { ?>
<script type="text/javascript">
alert("The product is already in cart. You can only add one E ticket per order");
</script>
<?php
$passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'wph_add_the_cart_validation_for_zoomarine_e_ticket', 10, 5 );