Subtotal based discount (from filter)
Apply a discount based on subtotal using a filter.
add_filter('advanced_woo_discount_rules_line_item_subtotal', function($line_subtotal, $cart_item, $tax_display_type){
if(class_exists('Wdr\App\Controllers\Configuration')){
$product = isset($cart_item['data']) ? $cart_item['data'] : '';
$config = new Wdr\App\Controllers\Configuration();
if(!empty($product)){
$calculate_discount_from = $config->getConfig('calculate_discount_from', 'sale_price');
if($calculate_discount_from == 'sale_price'){
$price = $product->get_sale_price();
if(empty($price)){
$price = $product->get_price();
}
}else{
$price = $product->get_regular_price();
}
$product_quantity = isset($cart_item['quantity']) ? $cart_item['quantity'] : 0;
if(!empty($product_quantity)){
$line_subtotal = $price * $product_quantity;
}
}
}
return $line_subtotal;
}, 10, 3);