Přeskočit na obsah

Výživové hodnoty

Obchod s potravinami musí zobrazovat tabulku výživových hodnot (nařízení EU č. 1169/2011). Plugin Polski for WooCommerce umožňuje přidat tabulku ke každému produktu ve formátu v souladu s předpisy.

Tabulka výživových hodnot musí obsahovat alespoň:

SložkaJednotkaKlíč JSON
Energetická hodnotakJ / kcalenergy_kj, energy_kcal
Tukygfat
z toho nasycené mastné kyselinygsaturated_fat
Sacharidygcarbohydrates
z toho cukrygsugars
Bílkovinygprotein
Sůlgsalt

Dodatečně můžete uvést:

SložkaJednotkaKlíč JSON
Mononenasycené mastné kyselinygmonounsaturated_fat
Polynenasycené mastné kyselinygpolyunsaturated_fat
Polyalkoholy (polyoly)gpolyols
Škrobgstarch
Vlákninagfibre
Vitamin Aµgvitamin_a
Vitamin Dµgvitamin_d
Vitamin Emgvitamin_e
Vitamin Kµgvitamin_k
Vitamin Cmgvitamin_c
Thiamin (B1)mgthiamine
Riboflavin (B2)mgriboflavin
Niacin (B3)mgniacin
Vitamin B6mgvitamin_b6
Kyselina listováµgfolic_acid
Vitamin B12µgvitamin_b12
Biotinµgbiotin
Kyselina pantothenovámgpantothenic_acid
Draslíkmgpotassium
Chlormgchloride
Vápníkmgcalcium
Fosformgphosphorus
Hořčíkmgmagnesium
Železomgiron
Zinekmgzinc
Měďmgcopper
Manganmgmanganese
Fluoridmgfluoride
Selenµgselenium
Chromµgchromium
Molybdenµgmolybdenum
Jodµgiodine

Přejděte do WooCommerce > Nastavení > Polski > Potraviny a aktivujte podmodul “Výživové hodnoty”.

NastaveníVýchozíPopis
Referenční jednotkana 100 gVýchozí jednotka: na 100 g nebo na 100 ml
Zobrazit % RHPAnoReferenční hodnota příjmu (% denní potřeby)
Pozice tabulkyZáložkaKde zobrazovat tabulku na stránce produktu
Volitelné složkyVláknina, vitaminyKteré volitelné složky zobrazovat

Zadávání dat v editoru produktu

Sekce “Zadávání dat v editoru produktu”

V záložce “Potraviny” editoru produktu vyplňte formulář výživových hodnot. Zadávejte číselné hodnoty na 100 g nebo 100 ml.

Referenční jednotka na produkt

Sekce “Referenční jednotka na produkt”

Každý produkt může mít vlastní jednotku. Nápoje nastavte na “na 100 ml”, tuhé produkty na “na 100 g”. Bez nastavení plugin použije výchozí hodnotu.

Volitelně uveďte velikost porce a hodnoty na porci:

PolePopis
Velikost porcenapř. “30 g”, “250 ml”, “1 plátek (25 g)“
Počet porcí v balenínapř. “10”

Výživové hodnoty jsou uloženy v databázi jako 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 musí být čísla (int nebo float)
  • Oddělovač desetinných míst v JSON: tečka (např. 9.5)
  • Hodnoty nesmí být záporné
  • energy_kj a energy_kcal by měly být konzistentní (1 kcal = 4.184 kJ)
  • Podsložky nesmí překročit nadřazenou složku (např. saturated_fat <= fat)

Použijte shortcode [polski_nutrients] pro zobrazení tabulky výživových hodnot.

ParametrTypVýchozíPopis
product_idintaktuálníID produktu
show_rwsbooltrueZda zobrazit % RHP
show_servingboolfalseZda zobrazit sloupec na porci
fieldsstringallSložky k zobrazení (oddělené čárkami)
layoutstringtableRozložení: table, list, compact
wrapperstringdivObalující HTML element

Úplná tabulka výživových hodnot:

[polski_nutrients]

S hodnotami na porci:

[polski_nutrients show_serving="true"]

Pouze základní složky:

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

Kompaktní rozložení (bez tabulky):

[polski_nutrients layout="compact"]

Pro konkrétní produkt:

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

V šabloně PHP:

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

Vygenerovaná tabulka HTML

Sekce “Vygenerovaná tabulka HTML”

Shortcode generuje tabulku v souladu se standardem EU:

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

Referenční hodnota příjmu (RHP)

Sekce “Referenční hodnota příjmu (RHP)”

Plugin počítá % RHP automaticky na základě těchto referenčních hodnot:

SložkaReferenční hodnota
Energie8400 kJ / 2000 kcal
Tuky70 g
Nasycené mastné kyseliny20 g
Sacharidy260 g
Cukry90 g
Bílkoviny50 g
Sůl6 g
Vláknina25 g

Programatický přístup

Sekce “Programatický přístup”

Získání výživových hodnot

Sekce “Získání výživových hodnot”
$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;
}

Ukládání výživových hodnot

Sekce “Ukládání výživových hodnot”
$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));

Filtr hodnot před zobrazením

Sekce “Filtr hodnot před zobrazením”
add_filter('polski/nutrients/values', function (array $nutrients, int $product_id): array {
// Zaokrouhlení hodnot v souladu s pokyny EU
if (isset($nutrients['energy_kcal'])) {
$nutrients['energy_kcal'] = round($nutrients['energy_kcal']);
}
return $nutrients;
}, 10, 2);

Sloupec polski_nutrients v CSV obsahuje hodnoty jako 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""}"

Uvozovky uvnitř JSON musí být zdvojené ("") v souboru CSV.

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

Nejčastější problémy

Sekce “Nejčastější problémy”

Tabulka výživových hodnot se nezobrazuje

Sekce “Tabulka výživových hodnot se nezobrazuje”
  1. Zkontrolujte, zda je podmodul výživových hodnot zapnutý
  2. Ujistěte se, že produkt má vyplněné pole _polski_nutrients se správným JSON
  3. Ověřte formát JSON - použijte validátor (např. jsonlint.com)

Hodnoty se zobrazují s tečkou místo čárky

Sekce “Hodnoty se zobrazují s tečkou místo čárky”

Plugin automaticky formátuje čísla s polskou čárkou. Pokud vidíte tečku, zkontrolujte, zda je locale WordPress nastaveno na pl_PL.

Zkontrolujte, zda je možnost “Zobrazit % RHP” zapnutá v nastavení a zda parametr show_rws v shortcode není nastaven na false.

Tato stránka má pouze informativní charakter a nepředstavuje právní poradenství. Před nasazením se poraďte s právníkem. Polski for WooCommerce je open source software (GPLv2) poskytovaný bez záruky.