Mostrar rango de precios en variaciones de productos de WooCommerce
21 oct 2012, 23:26:55
Vistas: 14.7K
Votos: 1
Estoy trabajando en una tienda online usando Woocommerce, muchos productos tienen variaciones en tamaño y precio. ¿Hay alguna manera de mostrar el rango de precios (de mayor a menor) de las variaciones en la página del producto?

Btuman
131
Comentarios
Todas las respuestas a la pregunta
2
0
prueba así:
/**
* Este código debe agregarse al functions.php de tu tema
**/
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
$price = '';
if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= '<span class="from">' . _x('Desde', 'min_price', 'woocommerce') . ' </span>';
$price .= woocommerce_price($product->get_price());
if ( $product->max_variation_price && $product->max_variation_price !== $product->min_variation_price ) {
$price .= '<span class="to"> ' . _x('hasta', 'max_price', 'woocommerce') . ' </span>';
$price .= woocommerce_price($product->max_variation_price);
}
return $price;
}

Nicolai Grossherr
18.9K
5 jun 2013 10:42:22
0
Me encontré con este hilo buscando la misma solución para productos agrupados. Al final terminé con el código de abajo... así que lo publico por si ayuda a otros. Esto no funcionará para productos variables, solo para agrupados. Pensé que sería relevante ya que los productos agrupados/variables son bastante similares y supuse que otros también podrían encontrarse con este hilo. Probablemente podrías limpiar un poco el span, pero esta es la versión rápida y sencilla que me sirvió para empezar.
/*** Devuelve el Rango de Precio para Productos Agrupados **/
function wc_grouped_price_html( $price, $product ) {
$all_prices = array();
foreach ( $product->get_children() as $child_id ) {
$all_prices[] = get_post_meta( $child_id, '_price', true );
}
if ( ! empty( $all_prices ) ) {
$max_price = max( $all_prices );
$min_price = min( $all_prices );
} else {
$max_price = '';
$min_price = '';
}
$price = '<span class="from">' . _x('Desde: ', 'min_price', 'woocommerce') . woocommerce_price( $min_price ) . _x(' hasta ', 'max_price', 'woocommerce') . ' </span>' . woocommerce_price( $max_price );
return $price;
}
add_filter( 'woocommerce_grouped_price_html', 'wc_grouped_price_html', 10, 2 );

DaNnY BoY
41
2 mar 2014 12:15:22
Preguntas relacionadas
2
respuestas
3
respuestas
1
respuestas
1
respuestas
1
respuestas