Skip to content

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érgenoSlug de taxonomíaIcono
1Cereales que contienen glutenglutengluten
2Crustáceoscrustaceanscrustaceans
3Huevoseggseggs
4Pescadofishfish
5Cacahuetespeanutspeanuts
6Sojasoysoy
7Leche (lactosa)milkmilk
8Frutos de cáscaranutsnuts
9Apiocelerycelery
10Mostazamustardmustard
11Granos de sésamosesamesesame
12Dióxido de azufre y sulfitossulphitessulphites
13Altramuceslupinlupin
14Moluscosmolluscsmolluscs

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:

CampoDescripción
NombreNombre del alérgeno mostrado (p. ej. “Leche y productos lácteos”)
SlugIdentificador de URL (p. ej. milk)
DescripciónInformación adicional sobre el alérgeno
IconoIcono 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:

ModoDescripciónEjemplo
ContieneEl producto contiene el alérgeno”Contiene: leche, huevos”
Puede contenerRiesgo de contaminación cruzada”Puede contener: frutos de cáscara”
No contieneDeclaració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 WooCommerce > Ajustes > Polski > Alimentos y configura la sección “Alérgenos”.

AjustePredeterminadoDescripción
Habilitar declaración de alérgenosActiva el sistema de alérgenos
Resaltar en los ingredientesPoner en negrita automáticamente los alérgenos en la lista de ingredientes
Mostrar iconosNoMuestra los iconos de los alérgenos
Posición en la páginaPestaña de alimentosDónde mostrar los alérgenos
Modo “Puede contener”Habilita la opción de declaración de trazas
Formato de visualizaciónListalist, 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ámetroTipoPredeterminadoDescripción
product_idintactualID del producto
formatstringlistFormato: list, icons, inline, table
show_may_containbooltrueSi se muestra la sección “Puede contener”
show_iconsboolfalseSi se muestran los iconos de los alérgenos
labelstring"Allergens: "Etiqueta antes de la lista
wrapperstringdivElemento 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

Section titled “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 CSVDescripciónFormato
polski_allergensAlérgenos “Contiene”Slugs separados por comas
polski_may_containAlé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

Section titled “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

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”.

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.