Перейти до вмісту

Алергени

Вимоги ЄС зобов’язують позначати 14 алергенів на етикетці харчового продукту. В інтернет-магазині інформація про алергени має бути видима перед покупкою. Плагін Polski for WooCommerce обробляє алергени через таксономію WordPress.

Відповідно до додатку II регламенту FIC, обов’язкове декларування охоплює:

NrАлергенSlug таксономіїІконка
1Зернові, що містять глютенglutengluten
2Ракоподібніcrustaceansskorupiaki
3Яйцяeggsjaja
4Рибаfishryby
5Арахісpeanutsorzeszki
6Сояsoysoja
7Молоко (лактоза)milkmleko
8Горіхиnutsorzechy
9Селераceleryseler
10Гірчицяmustardgorczyca
11Насіння кунжутуsesamesezam
12Діоксид сірки та сульфітиsulphitessiarczyny
13Люпинlupinłubin
14Молюскиmolluscsmięczaki

Плагін реєструє таксономію polski_allergen, пов’язану з типом запису product. Під час активації плагіна таксономія автоматично заповнюється 14 основними алергенами.

Перейдіть до Продукти > Алергени, щоб керувати переліком алергенів. 14 стандартних алергенів створюються автоматично. Ви можете додавати власні алергени, специфічні для вашого асортименту.

Кожен алерген містить:

ПолеОпис
НазваВідображувана назва алергену (наприклад, “Mleko i produkty pochodne”)
SlugІдентифікатор URL (наприклад, milk)
ОписДодаткова інформація про алерген
ІконкаНеобов’язкова іконка (мініатюра таксономії)

Призначення алергенів продукту

Section titled “Призначення алергенів продукту”

У редакторі продукту, у вкладці “Харчування” або в бічній панелі “Алергени”, позначте відповідні алергени зі списку чекбоксів.

Доступні три режими декларування:

РежимОписПриклад
МіститьПродукт містить даний алерген”Містить: молоко, яйця”
Може міститиРизик перехресного забруднення”Може містити: горіхи”
Не міститьЯвне декларування відсутності (необов’язкове)“Не містить: глютен”

Режим “Може містити” (may contain) призначений для позначення ризику слідових кількостей алергену, що виникають з виробничих процесів. У редакторі продукту кожен алерген можна позначити як:

  • Містить - алерген є інгредієнтом продукту
  • Може містити - ризик слідових кількостей

Перейдіть до WooCommerce > Налаштування > Polski > Харчування та налаштуйте розділ “Алергени”.

НалаштуванняЗа замовчуваннямОпис
Увімкнути декларування алергенівТакАктивує систему алергенів
Виділяти в інгредієнтахТакАвтоматичне виділення жирним алергенів у переліку інгредієнтів
Показати іконкиНіВідображає іконки алергенів
Позиція на сторінціВкладка харчуванняДе відображати алергени
Режим “Може містити”ТакВмикає опцію декларування слідових кількостей
Формат відображенняСписоксписок, іконки, inline

Автоматичне виділення в інгредієнтах

Section titled “Автоматичне виділення в інгредієнтах”

Відповідно до ст. 21 регламенту FIC, алергени у переліку інгредієнтів повинні бути виділені - зазвичай жирним шрифтом або великими літерами. Плагін автоматично шукає назви алергенів у полі “Інгредієнти” та обгортає їх тегом <strong>.

Приклад:

Введений текст:

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

Відображений текст:

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

З HTML-виділенням:

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

Налаштування виділення

Section titled “Налаштування виділення”

Плагін шукає у переліку інгредієнтів синоніми алергенів. Список синонімів можна налаштувати:

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 [polski_allergens], щоб відобразити декларацію алергенів.

ПараметрТипЗа замовчуваннямОпис
product_idintпоточнийID продукту
formatstringlistФормат: list, icons, inline, table
show_may_containbooltrueЧи відображати секцію “Може містити”
show_iconsboolfalseЧи відображати іконки алергенів
labelstring"Alergeny: "Мітка перед списком
wrapperstringdivHTML-елемент обгортки

Базовий список алергенів:

[polski_allergens]

Результат:

Alergeny: mleko, jaja, gluten
Może zawierać: orzechy

Формат inline з іконками:

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

Без секції “Може містити”:

[polski_allergens show_may_contain="false"]

Формат таблиці:

[polski_allergens format="table"]

Для конкретного продукту:

[polski_allergens product_id="456"]

У шаблоні PHP:

echo do_shortcode('[polski_allergens product_id="' . $product->get_id() . '"]');

Отримання алергенів продукту

Section titled “Отримання алергенів продукту”
// Алергени "Містить"
$allergens = wp_get_object_terms($product_id, 'polski_allergen');
foreach ($allergens as $allergen) {
echo $allergen->name; // наприклад, "Mleko i produkty pochodne"
}
// Алергени "Може містити"
$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,
]);
}

Програмне призначення алергенів

Section titled “Програмне призначення алергенів”
// Встановлення алергенів "Містить"
wp_set_object_terms($product_id, ['gluten', 'milk', 'eggs'], 'polski_allergen');
// Встановлення алергенів "Може містити"
update_post_meta($product_id, '_polski_may_contain_allergens', ['nuts', 'soy']);

Перевірка, чи продукт містить алерген

Section titled “Перевірка, чи продукт містить алерген”
if (has_term('gluten', 'polski_allergen', $product_id)) {
// Продукт містить глютен
}

Алергени можна імпортувати через CSV:

Колонка CSVОписФормат
polski_allergensАлергени “Містить”Slug-и через кому
polski_may_containАлергени “Може містити”Slug-и через кому

Приклад:

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

Найпоширеніші проблеми

Section titled “Найпоширеніші проблеми”

Алергени не відображаються на сторінці продукту

Section titled “Алергени не відображаються на сторінці продукту”
  1. Перевірте, чи модуль алергенів увімкнено
  2. Переконайтеся, що продукт має призначені алергени в редакторі
  3. Перевірте, чи таксономія polski_allergen правильно зареєстрована (Продукти > Алергени)

Автоматичне виділення не працює

Section titled “Автоматичне виділення не працює”
  1. Перевірте, чи опція “Виділяти в інгредієнтах” увімкнена
  2. Переконайтеся, що назви алергенів або їх синоніми відповідають тексту у переліку інгредієнтів
  3. Розширте список синонімів фільтром polski/allergens/synonyms

Стандартні алергени відсутні після активації

Section titled “Стандартні алергени відсутні після активації”

Якщо список 14 алергенів не був створений автоматично, перейдіть до WooCommerce > Налаштування > Polski > Харчування та натисніть “Створити стандартні алергени”.

Ця сторінка має виключно інформаційний характер і не є юридичною консультацією. Перед впровадженням зверніться до юриста. Polski for WooCommerce - це програмне забезпечення з відкритим кодом (GPLv2), що надається без гарантій.