Preskočiť na obsah

Výživové hodnoty

Potravinársky obchod musí zobrazovať tabuľku výživových hodnôt (nariadenie EÚ č. 1169/2011). Plugin Polski for WooCommerce umožňuje pridať tabuľku ku každému produktu vo formáte v súlade s predpismi.

V súlade s čl. 30 nariadenia FIC musí tabuľka výživových hodnôt obsahovať minimálne:

ZložkaJednotkaKľúč JSON
Energetická hodnotakJ / kcalenergy_kj, energy_kcal
Tukygfat
z toho nasýtené mastné kyselinygsaturated_fat
Sacharidygcarbohydrates
z toho cukrygsugars
Bielkovinygprotein
Soľgsalt

Dodatočne je možné uviesť (čl. 30 ods. 2 FIC):

ZložkaJednotkaKľúč JSON
Mononenasýtené mastné kyselinygmonounsaturated_fat
Polynenasýtené mastné kyselinygpolyunsaturated_fat
Polyolygpolyols
Škrobgstarch
Vlákninagfibre
Vitamín Aµgvitamin_a
Vitamín Dµgvitamin_d
Vitamín Emgvitamin_e
Vitamín Kµgvitamin_k
Vitamín Cmgvitamin_c
Tiamín (B1)mgthiamine
Riboflavín (B2)mgriboflavin
Niacín (B3)mgniacin
Vitamín B6mgvitamin_b6
Kyselina listováµgfolic_acid
Vitamín B12µgvitamin_b12
Biotínµgbiotin
Kyselina pantoténovámgpantothenic_acid
Draslíkmgpotassium
Chlórmgchloride
Vápnikmgcalcium
Fosformgphosphorus
Horčíkmgmagnesium
Železomgiron
Zinokmgzinc
Meďmgcopper
Mangánmgmanganese
Fluoridmgfluoride
Selénµgselenium
Chrómµgchromium
Molybdénµgmolybdenum
Jódµgiodine

Prejdite do WooCommerce > Nastavenia > Polski > Potraviny a aktivujte podmodul “Výživové hodnoty”.

NastaveniePredvolenéPopis
Referenčná jednotkaper 100 gPredvolená jednotka: per 100 g alebo per 100 ml
Zobrazovať % RHPÁnoReferenčný príjem (% dennej potreby)
Pozícia tabuľkyZáložkaKde zobrazovať tabuľku na stránke produktu
Voliteľné zložkyVláknina, vitamínyKtoré voliteľné zložky zobrazovať

V záložke “Potraviny” v editore produktu sa nachádza formulár výživových hodnôt. Vyplňte polia číselnými hodnotami per 100 g alebo 100 ml.

Každý produkt môže mať individuálnu referenčnú jednotku. Nápoje by mali mať nastavené “per 100 ml”, pevné produkty - “per 100 g”. Ak nenastavíte, použije sa predvolená hodnota z nastavení.

Voliteľne môžete uviesť aj veľkosť porcie a výživové hodnoty per porciu:

PolePopis
Veľkosť porcienapr. “30 g”, “250 ml”, “1 plátok (25 g)“
Počet porcií v balenínapr. “10”

Výživové hodnoty sú ukladané v databáze ako JSON v meta poli _polski_nutrients. Formát:

{
"energy_kj": 1046,
"energy_kcal": 250,
"fat": 9.5,
"saturated_fat": 3.2,
"carbohydrates": 31.0,
"sugars": 5.4,
"fibre": 2.1,
"protein": 8.7,
"salt": 1.2,
"ref_unit": "100g",
"serving_size": "30g",
"servings_per_package": 10
}
  • Hodnoty musia byť čísla (int alebo float)
  • Desatinný oddeľovač v JSON: bodka (napr. 9.5)
  • Hodnoty nesmú byť záporné
  • energy_kj a energy_kcal by mali byť konzistentné (1 kcal = 4.184 kJ)
  • Podzložky nesmú prekračovať nadriadenú zložku (napr. saturated_fat <= fat)

Použite shortcód [polski_nutrients] na zobrazenie tabuľky výživových hodnôt.

ParameterTypPredvolenýPopis
product_idintaktuálnyID produktu
show_rwsbooltrueČi zobrazovať % RHP
show_servingboolfalseČi zobrazovať stĺpec per porciu
fieldsstringallZložky na zobrazenie (oddelené čiarkami)
layoutstringtableRozloženie: table, list, compact
wrapperstringdivObaľujúci HTML prvok

Úplná tabuľka výživových hodnôt:

[polski_nutrients]

S hodnotami per porciu:

[polski_nutrients show_serving="true"]

Len základné zložky:

[polski_nutrients fields="energy_kcal,fat,carbohydrates,protein,salt"]

Kompaktné rozloženie (bez tabuľky):

[polski_nutrients layout="compact"]

Pre konkrétny produkt:

[polski_nutrients product_id="123" show_rws="true" show_serving="true"]

V PHP šablóne:

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

Shortcód generuje tabuľku v súlade so štandardom EÚ:

<div class="polski-nutrients">
<table class="polski-nutrients__table">
<thead>
<tr>
<th>Wartość odżywcza</th>
<th>per 100 g</th>
<th>% RWS*</th>
</tr>
</thead>
<tbody>
<tr>
<td>Wartość energetyczna</td>
<td>1046 kJ / 250 kcal</td>
<td>13%</td>
</tr>
<tr>
<td>Tłuszcz</td>
<td>9,5 g</td>
<td>14%</td>
</tr>
<tr class="polski-nutrients__sub">
<td>w tym kwasy tłuszczowe nasycone</td>
<td>3,2 g</td>
<td>16%</td>
</tr>
<!-- ... -->
</tbody>
<tfoot>
<tr>
<td colspan="3">
* Referencyjna wartość spożycia dla przeciętnej osoby dorosłej (8400 kJ / 2000 kcal)
</td>
</tr>
</tfoot>
</table>
</div>

Plugin vypočíta % RHP automaticky na základe referenčných hodnôt z prílohy XIII nariadenia FIC:

ZložkaReferenčná hodnota
Energia8400 kJ / 2000 kcal
Tuky70 g
Nasýtené mastné kyseliny20 g
Sacharidy260 g
Cukry90 g
Bielkoviny50 g
Soľ6 g
Vláknina25 g
$nutrients_json = get_post_meta($product_id, '_polski_nutrients', true);
$nutrients = json_decode($nutrients_json, true);
if ($nutrients) {
$energy_kcal = $nutrients['energy_kcal'] ?? 0;
$protein = $nutrients['protein'] ?? 0;
}
$nutrients = [
'energy_kj' => 1046,
'energy_kcal' => 250,
'fat' => 9.5,
'saturated_fat' => 3.2,
'carbohydrates' => 31.0,
'sugars' => 5.4,
'protein' => 8.7,
'salt' => 1.2,
'ref_unit' => '100g',
];
update_post_meta($product_id, '_polski_nutrients', wp_json_encode($nutrients));
add_filter('polski/nutrients/values', function (array $nutrients, int $product_id): array {
// Zaokrúhľovanie hodnôt podľa usmernení EÚ
if (isset($nutrients['energy_kcal'])) {
$nutrients['energy_kcal'] = round($nutrients['energy_kcal']);
}
return $nutrients;
}, 10, 2);

Stĺpec polski_nutrients v CSV by mal obsahovať hodnoty vo formáte JSON:

"Musli owocowe","{""energy_kj"":1590,""energy_kcal"":380,""fat"":8.2,""saturated_fat"":1.5,""carbohydrates"":64.0,""sugars"":22.0,""fibre"":7.5,""protein"":9.8,""salt"":0.05,""ref_unit"":""100g""}"

Úvodzovky vnútri JSON musia byť zdvojené ("") v CSV súbore.

.polski-nutrients__table {
width: 100%;
border-collapse: collapse;
font-size: 0.9em;
}
.polski-nutrients__table th,
.polski-nutrients__table td {
padding: 0.4em 0.8em;
border-bottom: 1px solid #e0e0e0;
text-align: left;
}
.polski-nutrients__sub td:first-child {
padding-left: 1.5em;
font-style: italic;
}
.polski-nutrients__table tfoot td {
font-size: 0.8em;
color: #666;
padding-top: 0.8em;
}

Tabuľka výživových hodnôt sa nezobrazuje

Section titled “Tabuľka výživových hodnôt sa nezobrazuje”
  1. Skontrolujte, či podmodul výživových hodnôt je zapnutý
  2. Uistite sa, že produkt má vyplnené pole _polski_nutrients so správnym JSON
  3. Overte formát JSON - použite validátor (napr. jsonlint.com)

Hodnoty sa zobrazujú s bodkou namiesto čiarky

Section titled “Hodnoty sa zobrazujú s bodkou namiesto čiarky”

Plugin automaticky formátuje čísla podľa poľských nastavení (desatinná čiarka). Ak vidíte bodku, skontrolujte, či locale WordPress je nastavený na pl_PL.

Skontrolujte, či možnosť “Zobrazovať % RHP” je zapnutá v nastaveniach a či parameter show_rws v shortcóde nie je nastavený na false.

Táto stránka slúži len na informačné účely a nepredstavuje právne poradenstvo. Pred implementáciou sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) poskytovaný bez záruky.