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.
Cuándo se exige un precio unitario
Section titled “Cuándo se exige un precio unitario”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.
Configuración
Section titled “Configuración”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”.
Campos en el editor de productos
Section titled “Campos en el editor de productos”| Campo | Descripción | Ejemplo |
|---|---|---|
| Cantidad base | Cantidad de producto en el envase | 500 |
| Unidad base | Unidad de medida del producto | g |
| Cantidad de referencia | Cantidad de referencia para el precio unitario | 1 |
| Unidad de referencia | Unidad para la que se indica el precio | kg |
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.
Unidades admitidas
Section titled “Unidades admitidas”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.
Variantes de producto
Section titled “Variantes de producto”En los productos variables, el precio unitario puede establecerse en dos niveles:
- A nivel del producto principal - valor heredado por todas las variantes
- 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).
Shortcode
Section titled “Shortcode”Usa el shortcode [polski_unit_price] para mostrar el precio unitario en cualquier lugar.
Parámetros
Section titled “Parámetros”| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
product_id | int | actual | ID del producto |
before | string | "" | Texto antes del precio |
after | string | "" | Texto después del precio |
wrapper | string | span | Elemento HTML envolvente |
Ejemplos de uso
Section titled “Ejemplos de uso”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() . '"]');Hook: polski/price/unit_price_html
Section titled “Hook: polski/price/unit_price_html”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): stringParámetros
Section titled “Parámetros”| Parámetro | Tipo | Descripción |
|---|---|---|
$html | string | HTML generado del precio unitario |
$unit_price | float | Precio unitario calculado |
$product | WC_Product | Objeto de producto de WooCommerce |
$args | array | Array con las claves: base_qty, base_unit, ref_qty, ref_unit |
Ejemplo: añadir una clase CSS
Section titled “Ejemplo: añadir una clase CSS”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);Importación CSV
Section titled “Importación CSV”Los precios unitarios pueden importarse con el importador estándar de WooCommerce. Añade las siguientes columnas al archivo CSV:
| Columna CSV | Descripción |
|---|---|
polski_unit_base_qty | Cantidad base |
polski_unit_base_unit | Unidad base |
polski_unit_ref_qty | Cantidad de referencia |
polski_unit_ref_unit | Unidad de referencia |
Ejemplo de fila CSV:
"Ground coffee 500g",29.99,500,g,1,kgProblemas frecuentes
Section titled “Problemas frecuentes”El precio unitario no se muestra
Section titled “El precio unitario no se muestra”Comprueba que:
- El módulo de precio unitario está activado en los ajustes
- El producto tiene rellenados los campos de cantidad base y unidad
- El tema es compatible con el hook
woocommerce_after_shop_loop_item_title(listado) y el hookwoocommerce_single_product_summary(página del producto)
Conversión incorrecta
Section titled “Conversión incorrecta”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.