Set a discount in WooCommerce without a coupon Set a discount in WooCommerce without a coupon wordpress wordpress

Set a discount in WooCommerce without a coupon


This is a code snippet from this answer which I have used and works well. How to add discount to cart total?

 // Hook before calculate feesadd_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');/** * Add custom fee if more than three article * @param WC_Cart $cart */function add_custom_fees( WC_Cart $cart ){    if( $cart->cart_contents_count < 3 ){        return;    }    // Calculate the amount to reduce    $discount = $cart->subtotal * 0.1;    $cart->add_fee( 'You have more than 3 items in your cart, a 10% discount has been added.', -$discount);}