Ir al contenido

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.

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

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.

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)

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”

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

Ve a Polski > Ajustes > Contenido y confianza 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

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, salt

Texto mostrado:

Wheat flour (gluten), sugar, butter (milk), chicken eggs, skimmed milk powder, salt

Con resaltado HTML:

<strong>Wheat</strong> flour (<strong>gluten</strong>), sugar, butter (<strong>milk</strong>),
<strong>eggs</strong>, <strong>milk</strong> powder, salt

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;
});

Usa el shortcode [polski_allergens] para mostrar la declaración de alérgenos.

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

Lista básica de alérgenos:

[polski_allergens]

Resultado:

Allergens: milk, eggs, gluten
May contain: nuts

Formato 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() . '"]');
// 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,
]);
}
// 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

Sección titulada «Comprobar si un producto contiene un alérgeno»
if (has_term('gluten', 'polski_allergen', $product_id)) {
// El producto contiene gluten
}

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","",""
.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;
}

Los alérgenos no se muestran en la página del producto

Sección titulada «Los alérgenos no se muestran en la página del producto»
  1. Comprueba que el módulo de alérgenos esté habilitado
  2. Asegúrate de que el producto tenga alérgenos asignados en el editor
  3. Verifica que la taxonomía polski_allergen esté registrada correctamente (Productos > Alérgenos)
  1. Comprueba que la opción “Resaltar en los ingredientes” esté habilitada
  2. Asegúrate de que los nombres de los alérgenos o sus sinónimos coincidan con el texto de la lista de ingredientes
  3. Amplía la lista de sinónimos con el filtro polski/allergens/synonyms

Faltan los alérgenos predeterminados tras la activación

Sección titulada «Faltan los alérgenos predeterminados tras la activación»

Si la lista de 14 alérgenos no se creó automáticamente, ve a Polski > Ajustes > Contenido y confianza y haz clic en “Crear alérgenos predeterminados”.

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