У меня есть только один продукт для отображения, но я предлагаю два варианта: план оплаты (обработанный через плагин подписки) и единый платеж. Я их показываю на моем сайте как сгруппированный, и оба варианта имеют кнопку «Добавить в корзину». Я не хочу, чтобы любой вариант был в тележке одновременно с другим. То, что я хотел бы сделать, либо:WooCommerce проверить содержимое корзины на складе
A) Опорожните корзину перед каждым кликом, добавленным в корзину.
или
B) Проверьте, если тележка содержит продукт уже (через ProductID), и удалите план оплаты при выборе полной заработной платы, или наоборот. Вот что я придумал для этого варианта, но я немного потерян, и он работает неправильно.
global $woocommerce;
if ($product_id = 66){
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
echo $cart_item_key;
if($cart_item['product_id'] == '69'){
//remove single product
$woocommerce->cart->remove_cart_item($cart_item_key);
}
}
}
elseif ($product_id = 69){
foreach ($woocommerce->cart->get_cart() as $cart_item_key => $cart_item) {
echo $cart_item_key;
if($cart_item['product_id'] == '66'){
//remove single product
$woocommerce->cart->remove_cart_item($cart_item_key);
}
}
}
Я собираюсь добавить это к методу add_to_cart перед попыткой/catch, чтобы выбросить любые ошибки. Может ли кто-нибудь помочь мне составить лучшее решение?