Allergens
La normativa de la UE exige etiquetar 14 alérgenos en las etiquetas de los productos alimenticios. En una tienda online, la información sobre alérgenos debe ser visible antes de la compra. Polski for WooCommerce gestiona los alérgenos mediante una taxonomía de WordPress.
14 alérgenos principales
Section titled “14 alérgenos principales”Según el Anexo II del Reglamento sobre información alimentaria (FIC), la declaración obligatoria comprende:
| N.º | Alérgeno | Slug de taxonomía | Icono |
|---|---|---|---|
| 1 | Cereales que contienen gluten | gluten | gluten |
| 2 | Crustáceos | crustaceans | crustaceans |
| 3 | Huevos | eggs | eggs |
| 4 | Pescado | fish | fish |
| 5 | Cacahuetes | peanuts | peanuts |
| 6 | Soja | soy | soy |
| 7 | Leche (lactosa) | milk | milk |
| 8 | Frutos de cáscara | nuts | nuts |
| 9 | Apio | celery | celery |
| 10 | Mostaza | mustard | mustard |
| 11 | Granos de sésamo | sesame | sesame |
| 12 | Dióxido de azufre y sulfitos | sulphites | sulphites |
| 13 | Altramuces | lupin | lupin |
| 14 | Moluscos | molluscs | molluscs |
La taxonomía polski_allergen
Section titled “La taxonomía polski_allergen”El plugin registra la taxonomía polski_allergen asociada al tipo de contenido product. Durante la activación del plugin, la taxonomía se rellena automáticamente con los 14 alérgenos principales.
Gestión de alérgenos
Section titled “Gestión de alérgenos”Ve a Productos > Alérgenos para gestionar la lista de alérgenos. Los 14 alérgenos predeterminados se crean automáticamente. Puedes añadir alérgenos personalizados específicos de tu gama de productos.
Cada alérgeno contiene:
| Campo | Descripción |
|---|---|
| Nombre | Nombre del alérgeno mostrado (p. ej. “Leche y productos lácteos”) |
| Slug | Identificador de URL (p. ej. milk) |
| Descripción | Información adicional sobre el alérgeno |
| Icono | Icono opcional (miniatura de la taxonomía) |
Asignación de alérgenos a un producto
Section titled “Asignación de alérgenos a un producto”En el editor de productos, en la pestaña “Alimentos” o en el panel lateral “Alérgenos”, marca los alérgenos correspondientes de la lista de casillas.
Hay tres modos de declaración disponibles:
| Modo | Descripción | Ejemplo |
|---|---|---|
| Contiene | El producto contiene el alérgeno | ”Contiene: leche, huevos” |
| Puede contener | Riesgo de contaminación cruzada | ”Puede contener: frutos de cáscara” |
| No contiene | Declaración explícita de ausencia (opcional) | “No contiene: gluten” |
Modo “Puede contener”
Section titled “Modo “Puede contener””El modo “Puede contener” se utiliza para indicar el riesgo de trazas de un alérgeno derivado de los procesos de producción. En el editor de productos, cada alérgeno puede marcarse como:
- Contiene - el alérgeno es un ingrediente del producto
- Puede contener - riesgo de trazas
Configuración
Section titled “Configuración”Ve a WooCommerce > Ajustes > Polski > Alimentos y configura la sección “Alérgenos”.
| Ajuste | Predeterminado | Descripción |
|---|---|---|
| Habilitar declaración de alérgenos | Sí | Activa el sistema de alérgenos |
| Resaltar en los ingredientes | Sí | Poner en negrita automáticamente los alérgenos en la lista de ingredientes |
| Mostrar iconos | No | Muestra los iconos de los alérgenos |
| Posición en la página | Pestaña de alimentos | Dónde mostrar los alérgenos |
| Modo “Puede contener” | Sí | Habilita la opción de declaración de trazas |
| Formato de visualización | Lista | list, icons, inline |
Resaltado automático en los ingredientes
Section titled “Resaltado automático en los ingredientes”Según el artículo 21 del Reglamento FIC, los alérgenos en la lista de ingredientes deben resaltarse, normalmente en negrita o con mayúsculas. El plugin busca automáticamente los nombres de los alérgenos en el campo “Ingredientes” y los envuelve en una etiqueta <strong>.
Ejemplo:
Texto de entrada:
Wheat flour, sugar, butter, chicken eggs, skimmed milk powder, saltTexto mostrado:
Wheat flour (gluten), sugar, butter (milk), chicken eggs, skimmed milk powder, saltCon resaltado HTML:
<strong>Wheat</strong> flour (<strong>gluten</strong>), sugar, butter (<strong>milk</strong>),<strong>eggs</strong>, <strong>milk</strong> powder, saltConfiguración del resaltado
Section titled “Configuración del resaltado”El plugin busca sinónimos de los alérgenos en la lista de ingredientes. La lista de sinónimos es configurable:
add_filter('polski/allergens/synonyms', function (array $synonyms): array { $synonyms['gluten'] = ['pszenica', 'pszenna', 'żyto', 'żytnia', 'owies', 'owsiana', 'jęczmień', 'orkisz']; $synonyms['milk'] = ['mleko', 'mleczny', 'mleczna', 'masło', 'śmietana', 'jogurt', 'ser', 'laktoza']; $synonyms['eggs'] = ['jaja', 'jajka', 'jajeczny', 'jajeczna'];
return $synonyms;});Shortcode
Section titled “Shortcode”Usa el shortcode [polski_allergens] para mostrar la declaración de alérgenos.
Parámetros
Section titled “Parámetros”| Parámetro | Tipo | Predeterminado | Descripción |
|---|---|---|---|
product_id | int | actual | ID del producto |
format | string | list | Formato: list, icons, inline, table |
show_may_contain | bool | true | Si se muestra la sección “Puede contener” |
show_icons | bool | false | Si se muestran los iconos de los alérgenos |
label | string | "Allergens: " | Etiqueta antes de la lista |
wrapper | string | div | Elemento HTML envolvente |
Ejemplos de uso
Section titled “Ejemplos de uso”Lista básica de alérgenos:
[polski_allergens]Resultado:
Allergens: milk, eggs, glutenMay contain: nutsFormato inline con iconos:
[polski_allergens format="inline" show_icons="true"]Sin la sección “Puede contener”:
[polski_allergens show_may_contain="false"]Formato de tabla:
[polski_allergens format="table"]Para un producto específico:
[polski_allergens product_id="456"]En una plantilla PHP:
echo do_shortcode('[polski_allergens product_id="' . $product->get_id() . '"]');Acceso programático
Section titled “Acceso programático”Obtener los alérgenos de un producto
Section titled “Obtener los alérgenos de un producto”// Alérgenos "Contiene"$allergens = wp_get_object_terms($product_id, 'polski_allergen');
foreach ($allergens as $allergen) { echo $allergen->name; // p. ej. "Leche y productos lácteos"}
// Alérgenos "Puede contener"$may_contain = get_post_meta($product_id, '_polski_may_contain_allergens', true);if ($may_contain) { $may_contain_terms = get_terms([ 'taxonomy' => 'polski_allergen', 'slug' => $may_contain, ]);}Asignar alérgenos programáticamente
Section titled “Asignar alérgenos programáticamente”// Establecer alérgenos "Contiene"wp_set_object_terms($product_id, ['gluten', 'milk', 'eggs'], 'polski_allergen');
// Establecer alérgenos "Puede contener"update_post_meta($product_id, '_polski_may_contain_allergens', ['nuts', 'soy']);Comprobar si un producto contiene un alérgeno
Section titled “Comprobar si un producto contiene un alérgeno”if (has_term('gluten', 'polski_allergen', $product_id)) { // El producto contiene gluten}Importación CSV
Section titled “Importación CSV”Los alérgenos se pueden importar mediante CSV:
| Columna CSV | Descripción | Formato |
|---|---|---|
polski_allergens | Alérgenos “Contiene” | Slugs separados por comas |
polski_may_contain | Alérgenos “Puede contener” | Slugs separados por comas |
Ejemplo:
"Butter cookies","gluten,milk,eggs","nuts,soy""Orange juice","",""Estilos CSS
Section titled “Estilos CSS”.polski-allergens { margin: 1em 0; padding: 0.8em; background: #fff3e0; border: 1px solid #ffcc02; border-radius: 4px;}
.polski-allergens__label { font-weight: 700; color: #e65100;}
.polski-allergens__list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5em;}
.polski-allergens__item { display: inline-flex; align-items: center; gap: 0.3em; padding: 0.2em 0.6em; background: #fff; border: 1px solid #ffcc02; border-radius: 3px; font-size: 0.9em;}
.polski-allergens__may-contain { margin-top: 0.5em; font-style: italic; color: #666;}
.polski-allergens__icon { width: 20px; height: 20px;}Problemas frecuentes
Section titled “Problemas frecuentes”Los alérgenos no se muestran en la página del producto
Section titled “Los alérgenos no se muestran en la página del producto”- Comprueba que el módulo de alérgenos esté habilitado
- Asegúrate de que el producto tenga alérgenos asignados en el editor
- Verifica que la taxonomía
polski_allergenesté registrada correctamente (Productos > Alérgenos)
El resaltado automático no funciona
Section titled “El resaltado automático no funciona”- Comprueba que la opción “Resaltar en los ingredientes” esté habilitada
- Asegúrate de que los nombres de los alérgenos o sus sinónimos coincidan con el texto de la lista de ingredientes
- Amplía la lista de sinónimos con el filtro
polski/allergens/synonyms
Faltan los alérgenos predeterminados tras la activación
Section titled “Faltan los alérgenos predeterminados tras la activación”Si la lista de 14 alérgenos no se creó automáticamente, ve a WooCommerce > Ajustes > Polski > Alimentos y haz clic en “Crear alérgenos predeterminados”.