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.
Verpflichtende Nährstoffe
Section titled “Verpflichtende Nährstoffe”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 |
Optionale Nährstoffe
Section titled “Optionale Nährstoffe”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 |
Konfiguration
Section titled “Konfiguration”Aktivierung des Moduls
Section titled “Aktivierung des Moduls”Gehen Sie zu WooCommerce > Einstellungen > Polski > Lebensmittel und aktivieren Sie das Untermodul “Nährwerte”.
Einstellungen
Section titled “Einstellungen”| 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 |
Eingabe der Daten im Produkteditor
Section titled “Eingabe der Daten im Produkteditor”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.
Bezugseinheit pro Produkt
Section titled “Bezugseinheit pro Produkt”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.
Portion
Section titled “Portion”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” |
JSON-Format
Section titled “JSON-Format”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}Validierungsregeln
Section titled “Validierungsregeln”- Werte müssen Zahlen sein (int oder float)
- Dezimaltrennzeichen im JSON: Punkt (z. B.
9.5) - Werte dürfen nicht negativ sein
energy_kjundenergy_kcalsollten konsistent sein (1 kcal = 4,184 kJ)- Unternährstoffe dürfen den übergeordneten Nährstoff nicht überschreiten (z. B.
saturated_fat<=fat)
Shortcode
Section titled “Shortcode”Verwenden Sie den Shortcode [polski_nutrients], um die Nährwerttabelle anzuzeigen.
Parameter
Section titled “Parameter”| 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 |
Anwendungsbeispiele
Section titled “Anwendungsbeispiele”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() . '"]');Generierte HTML-Tabelle
Section titled “Generierte HTML-Tabelle”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>Referenzmenge (RM)
Section titled “Referenzmenge (RM)”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 |
Programmatischer Zugriff
Section titled “Programmatischer Zugriff”Abrufen der Nährwerte
Section titled “Abrufen der Nährwerte”$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;}Speichern der Nährwerte
Section titled “Speichern der Nährwerte”$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));Filter für Werte vor der Anzeige
Section titled “Filter für Werte vor der Anzeige”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);CSV-Import
Section titled “CSV-Import”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 ("").
CSS-Gestaltung
Section titled “CSS-Gestaltung”.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;}Häufige Probleme
Section titled “Häufige Probleme”Nährwerttabelle wird nicht angezeigt
Section titled “Nährwerttabelle wird nicht angezeigt”- Prüfen Sie, ob das Untermodul für Nährwerte aktiviert ist
- Stellen Sie sicher, dass das Feld
_polski_nutrientsdes Produkts mit gültigem JSON gefüllt ist - Ü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.
% RM wird nicht angezeigt
Section titled “% RM wird nicht angezeigt”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.