Skip to content

Nutritional values

Ein Lebensmittelgeschäft muss eine Nährwerttabelle anzeigen (EU-Verordnung 1169/2011). Polski for WooCommerce ermöglicht es Ihnen, jedem Produkt eine Tabelle in einem vorschriftskonformen Format hinzuzufügen.

Gemäß Artikel 30 der LMIV muss die Nährwerttabelle mindestens Folgendes enthalten:

NährstoffEinheitJSON-Schlüssel
EnergiewertkJ / kcalenergy_kj, energy_kcal
Fettgfat
davon gesättigte Fettsäurengsaturated_fat
Kohlenhydrategcarbohydrates
davon Zuckergsugars
Eiweißgprotein
Salzgsalt

Zusätzlich kann Folgendes angegeben werden (Art. 30 Abs. 2 LMIV):

NährstoffEinheitJSON-Schlüssel
Einfach ungesättigte Fettsäurengmonounsaturated_fat
Mehrfach ungesättigte Fettsäurengpolyunsaturated_fat
Mehrwertige Alkohole (Polyole)gpolyols
Stärkegstarch
Ballaststoffegfibre
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
Folsäureµgfolic_acid
Vitamin B12µgvitamin_b12
Biotinµgbiotin
Pantothensäuremgpantothenic_acid
Kaliummgpotassium
Chloridmgchloride
Calciummgcalcium
Phosphormgphosphorus
Magnesiummgmagnesium
Eisenmgiron
Zinkmgzinc
Kupfermgcopper
Manganmgmanganese
Fluoridmgfluoride
Selenµgselenium
Chromµgchromium
Molybdänµgmolybdenum
Jodµgiodine

Gehen Sie zu WooCommerce > Einstellungen > Polski > Lebensmittel und aktivieren Sie das Untermodul “Nährwerte”.

EinstellungStandardBeschreibung
Bezugseinheitpro 100 gStandardeinheit: pro 100 g oder pro 100 ml
% RM anzeigenJaReferenzmenge (% des Tagesbedarfs)
Position der TabelleRegisterkarteWo die Tabelle auf der Produktseite angezeigt wird
Optionale NährstoffeBallaststoffe, VitamineWelche optionalen Nährstoffe angezeigt werden

In der Registerkarte “Lebensmittel” im Produkteditor finden Sie das Formular für die Nährwerte. Füllen Sie die Felder mit Zahlenwerten pro 100 g oder 100 ml aus.

Jedes Produkt kann eine individuelle Bezugseinheit haben. Getränke sollten auf “pro 100 ml” gesetzt werden, feste Produkte auf “pro 100 g”. Ist keine Einheit festgelegt, wird der Standardwert aus den Einstellungen verwendet.

Optional können Sie auch die Portionsgröße und die Nährwerte pro Portion angeben:

FeldBeschreibung
Portionsgrößez. B. “30 g”, “250 ml”, “1 Scheibe (25 g)“
Portionen pro Packungz. B. “10”

Die Nährwerte werden in der Datenbank als JSON im Meta-Feld _polski_nutrients gespeichert. Format:

{
"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
}
  • Werte müssen Zahlen sein (int oder float)
  • Dezimaltrennzeichen im JSON: Punkt (z. B. 9.5)
  • Werte dürfen nicht negativ sein
  • energy_kj und energy_kcal sollten konsistent sein (1 kcal = 4,184 kJ)
  • Unternährstoffe dürfen den übergeordneten Nährstoff nicht überschreiten (z. B. saturated_fat <= fat)

Verwenden Sie den Shortcode [polski_nutrients], um die Nährwerttabelle anzuzeigen.

ParameterTypStandardBeschreibung
product_idintaktuellProdukt-ID
show_rwsbooltrueOb % RM angezeigt wird
show_servingboolfalseOb die Spalte pro Portion angezeigt wird
fieldsstringallAnzuzeigende Nährstoffe (durch Kommas getrennt)
layoutstringtableLayout: table, list, compact
wrapperstringdivUmschließendes HTML-Element

Vollständige Nährwerttabelle:

[polski_nutrients]

Mit Werten pro Portion:

[polski_nutrients show_serving="true"]

Nur grundlegende Nährstoffe:

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

Kompaktes Layout (ohne Tabelle):

[polski_nutrients layout="compact"]

Für ein bestimmtes Produkt:

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

In einer PHP-Vorlage:

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

Der Shortcode generiert eine Tabelle, die dem EU-Standard entspricht:

<div class="polski-nutrients">
<table class="polski-nutrients__table">
<thead>
<tr>
<th>Nährwert</th>
<th>pro 100 g</th>
<th>% RM*</th>
</tr>
</thead>
<tbody>
<tr>
<td>Energiewert</td>
<td>1046 kJ / 250 kcal</td>
<td>13%</td>
</tr>
<tr>
<td>Fett</td>
<td>9,5 g</td>
<td>14%</td>
</tr>
<tr class="polski-nutrients__sub">
<td>davon gesättigte Fettsäuren</td>
<td>3,2 g</td>
<td>16%</td>
</tr>
<!-- ... -->
</tbody>
<tfoot>
<tr>
<td colspan="3">
* Referenzmenge für einen durchschnittlichen Erwachsenen (8400 kJ / 2000 kcal)
</td>
</tr>
</tfoot>
</table>
</div>

Das Plugin berechnet den Prozentsatz der RM automatisch auf Grundlage der Referenzwerte aus Anhang XIII der LMIV:

NährstoffReferenzwert
Energie8400 kJ / 2000 kcal
Fett70 g
Gesättigte Fettsäuren20 g
Kohlenhydrate260 g
Zucker90 g
Eiweiß50 g
Salz6 g
Ballaststoffe25 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 {
// Rundung der Werte gemäß den EU-Leitlinien
if (isset($nutrients['energy_kcal'])) {
$nutrients['energy_kcal'] = round($nutrients['energy_kcal']);
}
return $nutrients;
}, 10, 2);

Die Spalte polski_nutrients in der CSV-Datei sollte Werte im JSON-Format enthalten:

"Früchtemüsli","{""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""}"

Anführungszeichen innerhalb des JSON müssen in der CSV-Datei verdoppelt werden ("").

.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;
}
  1. Prüfen Sie, ob das Untermodul für Nährwerte aktiviert ist
  2. Stellen Sie sicher, dass das Feld _polski_nutrients des Produkts mit gültigem JSON gefüllt ist
  3. Überprüfen Sie das JSON-Format - verwenden Sie einen Validator (z. B. jsonlint.com)

Werte werden mit einem Punkt statt eines Kommas angezeigt

Section titled “Werte werden mit einem Punkt statt eines Kommas angezeigt”

Das Plugin formatiert Zahlen automatisch gemäß den polnischen Einstellungen (Dezimalkomma). Wenn Sie einen Punkt sehen, prüfen Sie, ob die WordPress-Locale auf pl_PL eingestellt ist.

Prüfen Sie, ob die Option ”% RM anzeigen” in den Einstellungen aktiviert ist und ob der Parameter show_rws im Shortcode nicht auf false gesetzt ist.

Diese Seite dient ausschließlich Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.