Preskočiť na obsah

Výživové hodnoty

Potravinový 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.

Tabuľka výživových hodnôt musí obsahovať aspoň:

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

Dodatočne môžeš uviesť:

ZložkaJednotkaJSON kľúč
Mononenasýtené mastné kyselinygmonounsaturated_fat
Polynenasýtené mastné kyselinygpolyunsaturated_fat
Viacatómové alkoholy (polyoly)gpolyols
Š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

Prejdi na WooCommerce > Nastavenia > Polski > Potraviny a aktivuj podmodul “Výživové hodnoty”.

NastaveniePredvolenéPopis
Referenčná jednotkana 100 gPredvolená jednotka: na 100 g alebo na 100 ml
Zobrazuj % RHPÁnoReferenčná hodnota príjmu (% denného odporúčaného príjmu)
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” editora produktu vyplň formulár výživových hodnôt. Zadávaj číselné hodnoty na 100 g alebo 100 ml.

Každý produkt môže mať vlastnú jednotku. Nápoje nastav na “na 100 ml”, pevné produkty na “na 100 g”. Bez nastavenia plugin použije predvolenú hodnotu.

Voliteľne uveď veľkosť porcie a hodnoty na 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ú uložené 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ú prekročiť nadradenú zložku (napr. saturated_fat <= fat)

Použi 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 na porciu
fieldsstringallZložky na zobrazenie (oddelené čiarkami)
layoutstringtableRozloženie: table, list, compact
wrapperstringdivObaľujúci HTML element

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

[polski_nutrients]

S hodnotami na 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>Výživová hodnota</th>
<th>na 100 g</th>
<th>% RHP*</th>
</tr>
</thead>
<tbody>
<tr>
<td>Energetická hodnota</td>
<td>1046 kJ / 250 kcal</td>
<td>13%</td>
</tr>
<tr>
<td>Tuk</td>
<td>9,5 g</td>
<td>14%</td>
</tr>
<tr class="polski-nutrients__sub">
<td>z toho nasýtené mastné kyseliny</td>
<td>3,2 g</td>
<td>16%</td>
</tr>
<!-- ... -->
</tbody>
<tfoot>
<tr>
<td colspan="3">
* Referenčná hodnota príjmu pre priemernú dospelú osobu (8400 kJ / 2000 kcal)
</td>
</tr>
</tfoot>
</table>
</div>

Plugin počíta % RHP automaticky na základe týchto referenčných hodnôt:

ZložkaReferenčná hodnota
Energia8400 kJ / 2000 kcal
Tuk70 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 v súlade s usmerneniami EÚ
if (isset($nutrients['energy_kcal'])) {
$nutrients['energy_kcal'] = round($nutrients['energy_kcal']);
}
return $nutrients;
}, 10, 2);

Stĺpec polski_nutrients v CSV obsahuje hodnoty ako JSON:

"Ovocné musli","{""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. Skontroluj, či je podmodul výživových hodnôt zapnutý
  2. Uisti sa, že produkt má vyplnené pole _polski_nutrients so správnym JSON
  3. Over formát JSON - použi 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 so slovenskou čiarkou. Ak vidíš bodku, skontroluj, či je locale WordPress nastavené na sk_SK.

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

Táto stránka má výlučne informatívny charakter a nepredstavuje právne poradenstvo. Pred nasadením sa poraďte s právnikom. Polski for WooCommerce je open source softvér (GPLv2) poskytovaný bez záruky.