Skip to content

Unit price

La legislación polaca obliga a las tiendas online a mostrar el precio unitario de un producto - por ejemplo, el precio por kilogramo, litro o metro. Polski for WooCommerce añade esta información automáticamente en la página del producto, en los listados y en el carrito.

La obligación de indicar precios unitarios se aplica a los productos vendidos por peso, volumen o longitud. En la práctica, esto incluye:

  • productos alimenticios (precio por kg o litro)
  • cosméticos y productos de limpieza (precio por 100 ml o litro)
  • materiales de construcción (precio por metro lineal o metro cuadrado)
  • productos a granel (precio por kg)

El precio unitario debe ser visible en todos los lugares donde se muestra el precio del producto - en la página del producto, en los resultados de búsqueda, en los comparadores de precios y en el carrito.

Ve a WooCommerce > Ajustes > Polski > Precios y activa el módulo de precio unitario. Tras la activación, aparecerá una nueva sección en el editor de productos, en la pestaña “General”.

CampoDescripciónEjemplo
Cantidad baseCantidad de producto en el envase500
Unidad baseUnidad de medida del productog
Cantidad de referenciaCantidad de referencia para el precio unitario1
Unidad de referenciaUnidad para la que se indica el preciokg

Para un producto con un peso de 500 g y un precio de 12,99 PLN, el plugin calculará automáticamente el precio unitario como 25,98 PLN/kg.

El plugin admite las siguientes unidades de medida:

  • Peso: g, kg, mg
  • Volumen: ml, l, cl
  • Longitud: mm, cm, m
  • Unidades: pcs (unidad)

La conversión entre unidades es automática. Si un producto tiene el peso en gramos y la unidad de referencia es el kilogramo, el plugin calculará el valor automáticamente.

En los productos variables, el precio unitario puede establecerse en dos niveles:

  1. A nivel del producto principal - valor heredado por todas las variantes
  2. A nivel de la variante - anula los ajustes del producto principal

Para variantes con pesos diferentes (por ejemplo, envases de 250 g y 500 g), establece el precio unitario por separado para cada variante. El plugin actualizará automáticamente el precio mostrado cuando el cliente cambie de variante (AJAX).

Usa el shortcode [polski_unit_price] para mostrar el precio unitario en cualquier lugar.

ParámetroTipoPredeterminadoDescripción
product_idintactualID del producto
beforestring""Texto antes del precio
afterstring""Texto después del precio
wrapperstringspanElemento HTML envolvente

Uso básico en la página del producto:

[polski_unit_price]

Con un ID de producto y texto personalizados:

[polski_unit_price product_id="123" before="Precio por kg: " after=" con IVA"]

En una plantilla PHP:

echo do_shortcode('[polski_unit_price product_id="' . $product->get_id() . '"]');

Este filtro permite modificar el HTML del precio unitario antes de mostrarlo.

apply_filters('polski/price/unit_price_html', string $html, float $unit_price, WC_Product $product, array $args): string
ParámetroTipoDescripción
$htmlstringHTML generado del precio unitario
$unit_pricefloatPrecio unitario calculado
$productWC_ProductObjeto de producto de WooCommerce
$argsarrayArray con las claves: base_qty, base_unit, ref_qty, ref_unit
add_filter('polski/price/unit_price_html', function (string $html, float $unit_price, WC_Product $product, array $args): string {
$category_class = '';
if (has_term('napoje', 'product_cat', $product->get_id())) {
$category_class = ' polski-unit-price--beverage';
}
return sprintf(
'<span class="polski-unit-price%s">%s/%s</span>',
esc_attr($category_class),
wc_price($unit_price),
esc_html($args['ref_unit'])
);
}, 10, 4);

Ejemplo: ocultar el precio unitario para categorías seleccionadas

Section titled “Ejemplo: ocultar el precio unitario para categorías seleccionadas”
add_filter('polski/price/unit_price_html', function (string $html, float $unit_price, WC_Product $product): string {
if (has_term('uslugi', 'product_cat', $product->get_id())) {
return '';
}
return $html;
}, 10, 3);

Los precios unitarios pueden importarse con el importador estándar de WooCommerce. Añade las siguientes columnas al archivo CSV:

Columna CSVDescripción
polski_unit_base_qtyCantidad base
polski_unit_base_unitUnidad base
polski_unit_ref_qtyCantidad de referencia
polski_unit_ref_unitUnidad de referencia

Ejemplo de fila CSV:

"Ground coffee 500g",29.99,500,g,1,kg

Comprueba que:

  1. El módulo de precio unitario está activado en los ajustes
  2. El producto tiene rellenados los campos de cantidad base y unidad
  3. El tema es compatible con el hook woocommerce_after_shop_loop_item_title (listado) y el hook woocommerce_single_product_summary (página del producto)

Asegúrate de que la unidad base y la unidad de referencia pertenecen a la misma categoría (por ejemplo, ambas de peso o ambas de volumen). El plugin no convierte entre categorías - no puedes convertir gramos en litros.

Esta página tiene únicamente carácter informativo y no constituye asesoramiento jurídico. Consulta a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.