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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „Konfiguration“Aktivierung des Moduls
Abschnitt betitelt „Aktivierung des Moduls“Gehen Sie zu Polski > Einstellungen > Inhalt & Vertrauen und aktivieren Sie das Untermodul “Nährwerte”.
Einstellungen
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „Shortcode“Verwenden Sie den Shortcode [polski_nutrients], um die Nährwerttabelle anzuzeigen.
Parameter
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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)
Abschnitt betitelt „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
Abschnitt betitelt „Programmatischer Zugriff“Abrufen der Nährwerte
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „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
Abschnitt betitelt „Häufige Probleme“Nährwerttabelle wird nicht angezeigt
Abschnitt betitelt „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
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.
% RM wird nicht angezeigt
Abschnitt betitelt „% 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.