Fix WooCommerce Wholesale Prices Variable product price display issue
Fix WooCommerce Wholesale Prices variable product price display problem.
// Fix - Variable product price display issue (Extended Compactibily for WooCommerce Wholesale Prices by Rymera Web Co)
add_filter('wwp_filter_wholesale_price_html', function($wholesale_price_html , $price , $product , $user_wholesale_role , $wholesale_price_title_text , $raw_wholesale_price , $source){
global $wdr_comp_disable_strikeout;
if ($product->get_type() == 'variable' && class_exists('WWP_Wholesale_Prices') && method_exists('WWP_Wholesale_Prices', 'get_product_wholesale_price_on_shop_v3')) {
$available_variations = $product->get_available_variations();
$variable_price = $product->get_price();
foreach ($available_variations as $key => $data) {
$variation_id = $data['variation_id'];
$price_data = \WWP_Wholesale_Prices::get_product_wholesale_price_on_shop_v3($variation_id, $user_wholesale_role);
if (is_array($price_data) && isset($price_data['wholesale_price_raw'])) {
$raw_wholesale_price = $price_data['wholesale_price_raw'];
$variation = wc_get_product($variation_id);
$variation_price = $variation->get_price();
if ($variable_price == $variation_price) {
$wdr_comp_disable_strikeout[$variation_id] = true;
$wdr_comp_disable_strikeout[$product->get_id()] = true;
$result = apply_filters('advanced_woo_discount_rules_get_product_discount_price_from_custom_price', $raw_wholesale_price, $variation, 1, $raw_wholesale_price, 'discounted_price', true);
if($result !== false){
$wholesale_price_html = '<del style="display: block;">'.$wholesale_price_title_text.' '.wc_price($raw_wholesale_price).'</del><ins>'.$wholesale_price_title_text.' '.wc_price($result).'</ins>';
}
break;
}
}
}
}
return $wholesale_price_html;
}, 100, 7);