Exclude variable subscription product from discount

Exclude variable subscription product from discount

add_filter('advanced_woo_discount_rules_calculate_discount_for_cart_item', function ($calculate_discount, $cart_item){
    if(isset($cart_item['data'])){
        $product = $cart_item['data'];
        if(method_exists($product, 'get_type')){
            if(in_array($product->get_type(), array('subscription_variation', 'variable-subscription'))){
                $calculate_discount = false;
            }
        }
    }
    return $calculate_discount;
}, 100, 2);
add_filter('advanced_woo_discount_rules_include_cart_item_to_count_quantity', function($take_count, $cart_item){
    if(isset($cart_item['data'])){
        $product = $cart_item['data'];
        if(method_exists($product, 'get_type')){
            if(in_array($product->get_type(), array('subscription_variation', 'variable-subscription'))){
                $take_count = false;
            }
        }
    }
    return $take_count;
}, 100, 2);
add_filter('advanced_woo_discount_rules_process_cart_item_for_cheapest_rule', function($calculate_discount, $cart_item){
    if(isset($cart_item['data'])){
        $product = $cart_item['data'];
        if(method_exists($product, 'get_type')){
            if(in_array($product->get_type(), array('subscription_variation', 'variable-subscription'))){
                $calculate_discount = false;
            }
        }
    }
    return $calculate_discount;
}, 100, 2);