Get discount price in get_price method
Get discount price in get_price method
global $wooDiscountLoadedProduct;
function getWooDiscountPrice($price, $product){
if (is_product()) {
$product_id = $product->get_id();
global $wooDiscountLoadedProduct;
if(isset($wooDiscountLoadedProduct[$product_id])){
return $wooDiscountLoadedProduct[$product_id];
}
remove_filter('woocommerce_product_get_price', 'getWooDiscountPrice', 10, 2);
$product_price = $product->get_price();
$discount = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', $product_price, $product, 1, $product_price, 'discounted_price', true);
if($discount !== false){
//$discount -> Here we get discount amount
$price = $discount;
}
$wooDiscountLoadedProduct[$product_id] = $price;
add_filter('woocommerce_product_get_price', 'getWooDiscountPrice', 10, 2);
}
return $price;
}
add_filter('woocommerce_product_get_price', 'getWooDiscountPrice', 10, 2);
function getWooDiscountVariablePrice($price, $product){
if (is_product()) {
$product_id = $product->get_id();
global $wooDiscountLoadedProduct;
if(isset($wooDiscountLoadedProduct[$product_id])){
return $wooDiscountLoadedProduct[$product_id];
}
remove_filter('woocommerce_product_variation_get_price', 'getWooDiscountVariablePrice', 10, 2);
$product_price = $product->get_price();
$discount = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', $product_price, $product, 1, $product_price, 'discounted_price', true);
if($discount !== false){
//$discount -> Here we get discount amount
$price = $discount;
}
$wooDiscountLoadedProduct[$product_id] = $price;
add_filter('woocommerce_product_variation_get_price', 'getWooDiscountVariablePrice', 10, 2);
}
return $price;
}
add_filter('woocommerce_product_variation_get_price', 'getWooDiscountVariablePrice', 10, 2);