• I only have one product to display, but I offer two options for it: A payment plan (handled through the subscription plugin) and a single payment. I have them displayed on my site as a grouped product 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?

    https://www.ads-software.com/plugins/woocommerce/

  • The topic ‘Check Products in Cart’ is closed to new replies.