Skip to content

"From" price for products with variations

El módulo “Precio desde” reemplaza el rango de precios predeterminado de WooCommerce (por ejemplo, “19,99 - 49,99 PLN”) por un formato más legible, “desde 19,99 PLN”, para productos con variaciones.

La visualización de precios predeterminada de WooCommerce para productos con variaciones muestra el rango completo: “19,99 PLN - 49,99 PLN”. Esto puede resultar confuso para los clientes y ocupa mucho espacio en los listados de productos.

El formato “desde 19,99 PLN”:

  • Es más legible en dispositivos móviles
  • Comunica con claridad el precio más bajo
  • Es un estándar en la mayoría de las tiendas online
  • Funciona tanto en las páginas de archivo como en la página del producto

Ve a WooCommerce > Ajustes > Polski > Precios.

AjusteDescripciónPredeterminado
Activar el precio “desde”Mostrar “desde {price}” en lugar de un rango de precios
Texto del precio “desde”Plantilla de texto con el token {price}from {price}
PlantillaResultado
from {price}from 19,99 PLN
Price from {price}Price from 19,99 PLN
ab {price}ab 19,99 PLN (para DE)
from {price}from 19,99 PLN (para EN)
  1. El módulo filtra el hook woocommerce_get_price_html
  2. Comprueba si el producto es un WC_Product_Variable
  3. Obtiene los precios de las variaciones y comprueba si existe un rango (min != max)
  4. Si es así, reemplaza el rango de precios por el formato “desde {precio_más_bajo}”
  5. Si todas las variaciones tienen el mismo precio, muestra el precio normal
// Customize the "from" price HTML
add_filter('polski/price/from_price_html', function (string $html, WC_Product $product): string {
// Add a CSS class or change the format
return '<span class="my-from-price">' . $html . '</span>';
}, 10, 2);

Desactivación para productos seleccionados

Section titled “Desactivación para productos seleccionados”

Si quieres desactivar “desde” para productos concretos, usa el filtro:

add_filter('polski/price/from_price_html', function (string $html, WC_Product $product): string {
if ($product->get_id() === 123) {
return $product->get_price_html(); // Original range
}
return $html;
}, 10, 2);