Fix for applying free discount multiple times for guest users

Fix for applying free discount multiple times for guest users

function woo_discount_rules_skip_discount_for_free_product_method($skip, $values){
    if(isset($values['data'])){
      $product = $values['data'];
      if(method_exists($product, 'get_price')){
        $price = $product->get_price();
        if($price <= 0){
          $skip = true;
        }
      }
    }
    
    return $skip;
}
add_filter('woo_discount_rules_skip_discount_for_free_product', 'woo_discount_rules_skip_discount_for_free_product_method', 10, 2);
add_filter('woo_discount_rules_reduce_qty_skip_discount_for_free_product', '__return_true', 10);