I am trying to create an automated discount that kicks in when and if the cart contains a minimum of three products or more.
If and when that is, a discount of 10% should be given no matter if the customer is logged in or not.
This is the code I'm trying to get to work (without success).
add_action( 'woocommerce_cart_calculate_fees', 'wc_discount_when_more_than_three', 10, 1 );
function wc_discount_when_more_than_three( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$percentage = 10; // 10% discount when cart has a minimum of three products
$discount = 0;
// check all cart items
foreach ( $cart->get_cart() as $cart_item ) {
// when quantity is more than 3
if( $cart_item['quantity'] > 3 ) {
// give 10% discount on the subtotal
$discount = $percentage / 100;
}
}
if( $discount > 0 )
$cart->add_fee( __( '10% OFF', 'woocommerce' ) , -$discount );
}