We will give a discount on the total order with conditions based on our cart item.
Here is the basic structure of our code
function.php
//discount
add_action('woocommerce_cart_calculate_fees' , 'custom_discount', 10, 1);
function custom_discount( $cart ){
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
// Iterating through each item in cart
$discount = 0;
foreach( $cart->get_cart() as $cart_item ){
// Getting an instance of the product object
// $product = wc_get_product( $cart_item['product_id'] );
// $cat = $product->get_category_ids();
//for item subtotal
$sub_total = $cart_item['line_total'];
if ($sub_total>1000) {
$discount += -10;
}
}
## Applied discount (no products on sale) ##
$cart->add_fee( 'Buffet over $1000 order', $discount);
}