Zum Inhalt springen

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ährstoff Einheit JSON-Schlüssel
Energiewert kJ / kcal energy_kj, energy_kcal
Fett g fat
davon gesättigte Fettsäuren g saturated_fat
Kohlenhydrate g carbohydrates
davon Zucker g sugars
Eiweiß g protein
Salz g salt

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

Nährstoff Einheit JSON-Schlüssel
Einfach ungesättigte Fettsäuren g monounsaturated_fat
Mehrfach ungesättigte Fettsäuren g polyunsaturated_fat
Mehrwertige Alkohole (Polyole) g polyols
Stärke g starch
Ballaststoffe g fibre
Vitamin A µg vitamin_a
Vitamin D µg vitamin_d
Vitamin E mg vitamin_e
Vitamin K µg vitamin_k
Vitamin C mg vitamin_c
Thiamin (B1) mg thiamine
Riboflavin (B2) mg riboflavin
Niacin (B3) mg niacin
Vitamin B6 mg vitamin_b6
Folsäure µg folic_acid
Vitamin B12 µg vitamin_b12
Biotin µg biotin
Pantothensäure mg pantothenic_acid
Kalium mg potassium
Chlorid mg chloride
Calcium mg calcium
Phosphor mg phosphorus
Magnesium mg magnesium
Eisen mg iron
Zink mg zinc
Kupfer mg copper
Mangan mg manganese
Fluorid mg fluoride
Selen µg selenium
Chrom µg chromium
Molybdän µg molybdenum
Jod µg iodine

Gehen Sie zu Polski > Einstellungen > Inhalt & Vertrauen und aktivieren Sie das Untermodul “Nährwerte”.

Einstellung Standard Beschreibung
Bezugseinheit pro 100 g Standardeinheit: pro 100 g oder pro 100 ml
% RM anzeigen Ja Referenzmenge (% des Tagesbedarfs)
Position der Tabelle Registerkarte Wo die Tabelle auf der Produktseite angezeigt wird
Optionale Nährstoffe Ballaststoffe, Vitamine Welche 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:

Feld Beschreibung
Portionsgröße z. B. “30 g”, “250 ml”, “1 Scheibe (25 g)”
Portionen pro Packung z. 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.

Parameter Typ Standard Beschreibung
product_id int aktuell Produkt-ID
show_rws bool true Ob % RM angezeigt wird
show_serving bool false Ob die Spalte pro Portion angezeigt wird
fields string all Anzuzeigende Nährstoffe (durch Kommas getrennt)
layout string table Layout: table, list, compact
wrapper string div Umschließ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ährstoff Referenzwert
Energie 8400 kJ / 2000 kcal
Fett 70 g
Gesättigte Fettsäuren 20 g
Kohlenhydrate 260 g
Zucker 90 g
Eiweiß 50 g
Salz 6 g
Ballaststoffe 25 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

Abschnitt betitelt „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.