Función que elimina el intervalo de precios cuando el producto en la tienda es catalogado como producto variable. Únicamente muestra el precio más alto del intervalo.
// Muestra solo precio más alto de los dos precios variables
add_filter( 'woocommerce_variable_sale_price_html', 'web_variation_price_format', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'web_variation_price_format', 10, 2 );
function web_variation_price_format( $price, $product ) {
// Precio base
$prices = array( $product->get_variation_price( 'max', true ), $product->get_variation_price( 'min', true ) );
$price = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
// Precio rebajado
$prices = array( $product->get_variation_regular_price( 'max', true ), $product->get_variation_regular_price( 'min', true ) );
sort( $prices );
$saleprice = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
return $price;
}