Přeskočit na obsah

Alergeny

Predpisy EU vyzaduji oznacovani 14 alergenu na etikete potravinoveho produktu. V internetovem obchode musi byt informace o alergenech viditelna pred nakupem. Plugin obsluhuje alergeny pres taxonomii WordPress.

Podle prilohy II narizeni FIC povinna deklarace zahrnuje:

C.AlergenSlug taxonomieIkona
1Obiloviny obsahujici lepekglutengluten
2Korovcicrustaceanskorovci
3Vejceeggsvejce
4Rybyfishryby
5Podzemnice olejne (arasidy)peanutsarasidy
6Sojasoysoja
7Mleko (laktoza)milkmleko
8Orechynutsorechy
9Celerceleryceler
10Horcicemustardhorcice
11Sezamova semenasesamesezam
12Oxid siricity a siricityanysulphitessiricityany
13Vlci boblupinvlci bob
14Mekkýsimolluscsmekkýsi

Plugin registruje taxonomii polski_allergen spojenou s typem prispevku product. Behem aktivace pluginu je taxonomie automaticky naplnena 14 hlavnimi alergeny.

Prejdete do Produkty > Alergeny pro spravu seznamu alergenu. Vychozich 14 alergenu je vytvoreno automaticky. Muzete pridavat vlastni alergeny specificke pro vas sortiment.

Kazdy alergen obsahuje:

PolePopis
NazevZobrazovany nazev alergenu (napr. “Mleko a derivaty”)
SlugURL identifikator (napr. milk)
PopisDoplnkove informace o alergenu
IkonaVolitelna ikona (miniatura taxonomie)

V editoru produktu, v zalozce “Potraviny” nebo v bocnim panelu “Alergeny”, zaznacte prislusne alergeny ze seznamu checkbox.

Dostupne jsou tri rezimy deklarace:

RezimPopisPriklad
ObsahujeProdukt obsahuje dany alergen”Obsahuje: mleko, vejce”
Muze obsahovatRiziko krizove kontaminace”Muze obsahovat: orechy”
NeobsahujeVyrazna deklarace absence (volitelne)“Neobsahuje: lepek”

Rezim “Muze obsahovat” (may contain) slouzi k oznaceni rizika stopovych mnozstvi alergenu vyplyvajicich z vyrobnich procesu. V editoru produktu lze kazdy alergen oznacit jako:

  • Obsahuje - alergen je slozkou produktu
  • Muze obsahovat - riziko stopovych mnozstvi

Prejdete do WooCommerce > Nastaveni > Polski > Potraviny a nakonfigurujte sekci “Alergeny”.

NastaveniVychoziPopis
Aktivovat deklaraci alergenuAnoAktivuje system alergenu
Zvyraznit ve slozkachAnoAutomaticke zvyrazneni alergenu v seznamu slozek
Zobrazit ikonyNeZobrazuje ikony alergenu
Pozice na stranceZalozka potravinyKde zobrazit alergeny
Rezim “Muze obsahovat”AnoAktivuje moznost deklarace stopovych mnozstvi
Format zobrazeniSeznamseznam, ikony, inline

Podle cl. 21 narizeni FIC musi byt alergeny v seznamu slozek zvyrazneny - obvykle tucnym pismem nebo velkymi pismeny. Plugin automaticky vyhledava nazvy alergenu v poli “Slozeni” a obaluje je tagem <strong>.

Priklad:

Zadany text:

Mąka pszenna, cukier, masło, jaja kurze, mleko odtłuszczone w proszku, sól

Zobrazeny text:

Mąka pszenna (gluten), cukier, masło (mleko), jaja kurze, mleko odtłuszczone w proszku, sól

S HTML zvyraznenim:

Mąka <strong>pszenna (gluten)</strong>, cukier, masło (<strong>mleko</strong>),
<strong>jaja</strong> kurze, <strong>mleko</strong> odtłuszczone w proszku, sól

Plugin prohledava seznam slozek na synonyma alergenu. Seznam synonym je konfigurovatelny:

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

Pouzijte shortcode [polski_allergens] pro zobrazeni deklarace alergenu.

ParametrTypVychoziPopis
product_idintaktualniID produktu
formatstringlistFormat: list, icons, inline, table
show_may_containbooltrueZda zobrazit sekci “Muze obsahovat”
show_iconsboolfalseZda zobrazit ikony alergenu
labelstring"Alergeny: "Stitek pred seznamem
wrapperstringdivObalujici HTML element

Zakladni seznam alergenu:

[polski_allergens]

Vysledek:

Alergeny: mleko, vejce, lepek
Muze obsahovat: orechy

Inline format s ikonami:

[polski_allergens format="inline" show_icons="true"]

Bez sekce “Muze obsahovat”:

[polski_allergens show_may_contain="false"]

Format tabulky:

[polski_allergens format="table"]

Pro konkretni produkt:

[polski_allergens product_id="456"]

V sablone PHP:

echo do_shortcode('[polski_allergens product_id="' . $product->get_id() . '"]');
// Alergeny "Obsahuje"
$allergens = wp_get_object_terms($product_id, 'polski_allergen');
foreach ($allergens as $allergen) {
echo $allergen->name; // napr. "Mleko a derivaty"
}
// Alergeny "Muze obsahovat"
$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,
]);
}
// Nastaveni alergenu "Obsahuje"
wp_set_object_terms($product_id, ['gluten', 'milk', 'eggs'], 'polski_allergen');
// Nastaveni alergenu "Muze obsahovat"
update_post_meta($product_id, '_polski_may_contain_allergens', ['nuts', 'soy']);
if (has_term('gluten', 'polski_allergen', $product_id)) {
// Produkt obsahuje lepek
}

Alergeny lze importovat pres CSV:

Sloupec CSVPopisFormat
polski_allergensAlergeny “Obsahuje”Slugy oddelene carkami
polski_may_containAlergeny “Muze obsahovat”Slugy oddelene carkami

Priklad:

"Ciastka maślane","gluten,milk,eggs","nuts,soy"
"Sok pomarańczowy","",""
.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;
}

Alergeny se nezobrazuji na strance produktu

Section titled “Alergeny se nezobrazuji na strance produktu”
  1. Zkontrolujte, zda je modul alergenu aktivovan
  2. Ujistete se, ze produkt ma prirazene alergeny v editoru
  3. Overite, zda taxonomie polski_allergen je spravne registrovana (Produkty > Alergeny)
  1. Zkontrolujte, zda moznost “Zvyraznit ve slozkach” je aktivovana
  2. Ujistete se, ze nazvy alergenu nebo jejich synonyma odpovidaji textu v seznamu slozek
  3. Rozsite seznam synonym filtrem polski/allergens/synonyms

Pokud seznam 14 alergenu nebyl vytvoren automaticky, prejdete do WooCommerce > Nastaveni > Polski > Potraviny a kliknete “Vytvorit vychozi alergeny”.

Tato stránka slouží pouze k informačním účelům a nepředstavuje právní poradenství. Před implementací se poraďte s právníkem. Polski for WooCommerce je open source software (GPLv2) poskytovaný bez záruky.