Przejdź do głównej zawartości

Nutri-Score

Nutri-Score ocenia jakość odżywczą produktu w skali od A (najlepsza) do E (najgorsza). W Polsce jest dobrowolny, ale coraz popularniejszy. Wtyczka Polski for WooCommerce wyświetla odznakę Nutri-Score na stronie produktu.

Nutri-Score klasyfikuje produkty na podstawie:

Składniki negatywne (punkty ujemne):

  • wartość energetyczna
  • cukry
  • kwasy tłuszczowe nasycone
  • sól (sód)

Składniki pozytywne (punkty dodatnie):

  • owoce, warzywa, orzechy, oleje (rzepakowy, orzechowy, oliwkowy)
  • błonnik
  • białko

Na podstawie bilansu punktów produkt dostaje ocenę:

PoziomKolorZakres punktów (żywność stała)Opis
ACiemnozielony (#038141)od -15 do -1Najwyższa jakość odżywcza
BJasnozielony (#85BB2F)od 0 do 2Dobra jakość odżywcza
CŻółty (#FECB02)od 3 do 10Średnia jakość odżywcza
DPomarańczowy (#EE8100)od 11 do 18Niska jakość odżywcza
ECzerwony (#E63E11)od 19 do 40Najniższa jakość odżywcza

Przejdź do WooCommerce > Ustawienia > Polski > Żywność i aktywuj podmoduł “Nutri-Score”.

UstawienieDomyślneOpis
Włącz Nutri-ScoreNieAktywuje wyświetlanie odznaki
Pozycja na stronie produktuPod cenąGdzie wyświetlać odznakę
Pokaż na listinguTakCzy wyświetlać na stronach kategorii
Rozmiar odznakiNormalnymały, normalny, duży
Styl odznakiPełnypełny (wszystkie litery), kompaktowy (tylko aktywna litera)

W edytorze produktu, w zakładce “Żywność”, wybierz poziom Nutri-Score z listy rozwijanej:

  • A - Najwyższa jakość odżywcza
  • B - Dobra jakość odżywcza
  • C - Średnia jakość odżywcza
  • D - Niska jakość odżywcza
  • E - Najniższa jakość odżywcza

Wtyczka nie oblicza Nutri-Score automatycznie. Użyj oficjalnego kalkulatora lub danych od producenta.

Odznaka Nutri-Score to zestaw elementów HTML z klasami CSS:

<div class="polski-nutri-score polski-nutri-score--active-c">
<span class="polski-nutri-score__label">Nutri-Score</span>
<div class="polski-nutri-score__badges">
<span class="polski-nutri-score__badge polski-nutri-score__badge--a">A</span>
<span class="polski-nutri-score__badge polski-nutri-score__badge--b">B</span>
<span class="polski-nutri-score__badge polski-nutri-score__badge--c polski-nutri-score__badge--active">C</span>
<span class="polski-nutri-score__badge polski-nutri-score__badge--d">D</span>
<span class="polski-nutri-score__badge polski-nutri-score__badge--e">E</span>
</div>
</div>

Wtyczka generuje klasy CSS dla każdego poziomu, co daje pełną kontrolę nad stylowaniem:

KlasaOpis
.polski-nutri-scoreKontener główny
.polski-nutri-score--active-aAktywny poziom A
.polski-nutri-score--active-bAktywny poziom B
.polski-nutri-score--active-cAktywny poziom C
.polski-nutri-score--active-dAktywny poziom D
.polski-nutri-score--active-eAktywny poziom E
.polski-nutri-score--smallMały rozmiar
.polski-nutri-score--normalNormalny rozmiar
.polski-nutri-score--largeDuży rozmiar
KlasaOpis
.polski-nutri-score__badgeKażda odznaka (litera)
.polski-nutri-score__badge--aOdznaka A
.polski-nutri-score__badge--bOdznaka B
.polski-nutri-score__badge--cOdznaka C
.polski-nutri-score__badge--dOdznaka D
.polski-nutri-score__badge--eOdznaka E
.polski-nutri-score__badge--activeAktywna (wybrana) odznaka

Wtyczka zawiera wbudowane style CSS:

.polski-nutri-score {
display: inline-flex;
flex-direction: column;
align-items: flex-start;
margin: 0.5em 0;
}
.polski-nutri-score__label {
font-size: 0.75em;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #666;
margin-bottom: 0.3em;
}
.polski-nutri-score__badges {
display: inline-flex;
gap: 2px;
border-radius: 4px;
overflow: hidden;
}
.polski-nutri-score__badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 2em;
height: 2em;
font-weight: 700;
font-size: 0.85em;
color: #fff;
opacity: 0.35;
transition: opacity 0.2s, transform 0.2s;
}
.polski-nutri-score__badge--active {
opacity: 1;
transform: scale(1.15);
border-radius: 3px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
/* Kolory per poziom */
.polski-nutri-score__badge--a {
background-color: #038141;
}
.polski-nutri-score__badge--b {
background-color: #85BB2F;
}
.polski-nutri-score__badge--c {
background-color: #FECB02;
color: #333;
}
.polski-nutri-score__badge--d {
background-color: #EE8100;
}
.polski-nutri-score__badge--e {
background-color: #E63E11;
}
/* Rozmiary */
.polski-nutri-score--small .polski-nutri-score__badge {
width: 1.5em;
height: 1.5em;
font-size: 0.7em;
}
.polski-nutri-score--large .polski-nutri-score__badge {
width: 2.5em;
height: 2.5em;
font-size: 1em;
}

Nadpisz klasy CSS w pliku style.css motywu:

/* Przykład: kwadratowe odznaki z zaokrąglonymi rogami */
.polski-nutri-score__badges {
gap: 4px;
border-radius: 0;
}
.polski-nutri-score__badge {
border-radius: 6px;
width: 2.2em;
height: 2.2em;
}
/* Przykład: ciemny motyw */
.polski-nutri-score__label {
color: #ccc;
}
.polski-nutri-score__badge {
opacity: 0.25;
}
$nutri_score = get_post_meta($product_id, '_polski_nutri_score', true);
// Zwraca: 'a', 'b', 'c', 'd', 'e' lub '' (pusty)
update_post_meta($product_id, '_polski_nutri_score', 'b');
add_filter('polski/nutri_score/html', function (string $html, string $score, int $product_id): string {
// Modyfikacja HTML odznaki
return $html;
}, 10, 3);
add_filter('polski/nutri_score/display', function (bool $display, int $product_id): bool {
// Ukryj Nutri-Score dla produktów bez wypełnionych wartości odżywczych
$nutrients = get_post_meta($product_id, '_polski_nutrients', true);
if (empty($nutrients)) {
return false;
}
return $display;
}, 10, 2);
Kolumna CSVOpisWartości
polski_nutri_scorePoziom Nutri-Scorea, b, c, d, e

Przykład:

"Jabłko",a
"Chipsy ziemniaczane",d
"Cola",e
"Jogurt naturalny",b

Wtyczka dodaje Nutri-Score do danych strukturalnych produktu:

{
"@type": "Product",
"additionalProperty": [
{
"@type": "PropertyValue",
"name": "Nutri-Score",
"value": "B"
}
]
}

Odznaka zawiera atrybuty ARIA dla czytników ekranu:

<div class="polski-nutri-score" role="img" aria-label="Nutri-Score: C - średnia jakość odżywcza">

Każda nieaktywna odznaka ma aria-hidden="true", a aktywna zawiera aria-current="true".

  1. Sprawdź, czy podmoduł Nutri-Score jest włączony
  2. Upewnij się, że produkt ma przypisany poziom Nutri-Score
  3. Zweryfikuj, czy CSS pluginu jest załadowany (brak konfliktu z wtyczkami optymalizacyjnymi)

Motyw może nadpisywać kolory. Użyj bardziej szczegółowych selektorów CSS lub dodaj !important:

.polski-nutri-score__badge--a {
background-color: #038141 !important;
}

Zmień rozmiar w ustawieniach (WooCommerce > Ustawienia > Polski > Żywność > Nutri-Score > Rozmiar odznaki) lub nadpisz CSS klasy rozmiaru.

Ta strona ma wyłącznie charakter informacyjny i nie stanowi porady prawnej. Przed wdrożeniem skonsultuj się z prawnikiem. Polski for WooCommerce jest oprogramowaniem open source (GPLv2) dostarczanym bez gwarancji.