I only have one product to display, but I offer two options for it: A payment plan (handled through a subscription plugin) and a single payment. I have them displayed on my site as a grouped and both options have an "Add to Cart" Button. I don't want either option to be in the cart at the same time as the other. What I would like to do is either,
A) Empty the cart before each time the add to cart is clicked.
or
B) Check if the cart contains a product already (via productid), and remove the payment plan if the full pay is selected, or vice versa. Here is something I've come up with for this option, but I'm a bit lost and it's not functioning quite right.
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);
}
}
}
I'm thinking of adding this to the add_to_cart method before the try/catch to throw any errors. Can anyone help me figure a better solution?