Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WooCommerce Delete all products from cart and add current product to cart

I am new to WooCommerce and I need to be able to only add one single product in the cart. I want to clear all products and add the current product to the cart when I click the "Add to cart" button.

How can I do that ?

like image 560
spsaravananct Avatar asked Jan 17 '14 09:01

spsaravananct


Video Answer


2 Answers

Try this,

//For removing all the items from the cart
global $woocommerce;
$woocommerce->cart->empty_cart();
$woocommerce->cart->add_to_cart($product_id,$qty);

class file is wp-content/plugins/woocommerce/classes/class-wc-cart.php

Hope its helps..

like image 61
Jobin Avatar answered Oct 07 '22 00:10

Jobin


I have got an exact solution for this. Try following code.

add_filter( 'woocommerce_add_cart_item_data', 'wdm_empty_cart', 10,  3);

function wdm_empty_cart( $cart_item_data, $product_id, $variation_id ) 
{

    global $woocommerce;
    $woocommerce->cart->empty_cart();

    // Do nothing with the data and return
    return $cart_item_data;
}

The above filter is defined in class-wc-cart.php within function add_to_cart().
http://docs.woothemes.com/wc-apidocs/source-class-WC_Cart.html#774-905
Thus, when add to cart button is pressed, it empties the cart and then add the product.

like image 24
Domain Avatar answered Oct 06 '22 22:10

Domain