Przejdź do głównej zawartości

Cena jednostkowa

Polskie prawo wymaga, by sklep internetowy pokazywał cenę jednostkową produktu - np. cenę za kilogram, litr lub metr. Wtyczka Polski for WooCommerce dodaje tę informację automatycznie na stronie produktu, w listingu i w koszyku.

Cenę jednostkową podajesz dla produktów sprzedawanych na wagę, objętość lub długość. Dotyczy to m.in.:

  • produkty spożywcze (cena za kg lub litr)
  • kosmetyki i środki czystości (cena za 100 ml lub litr)
  • materiały budowlane (cena za metr bieżący lub metr kwadratowy)
  • produkty sypkie (cena za kg)

Cena jednostkowa musi być widoczna wszędzie, gdzie pokazujesz cenę produktu - na stronie produktu, w wynikach wyszukiwania, w porównywarkach i w koszyku.

Przejdź do Polski > Ustawienia > Podatki i ceny i włącz moduł ceny jednostkowej. Po włączeniu w edytorze produktu pojawi się nowa sekcja w zakładce “Ogólne”.

Pole Opis Przykład
Ilość bazowa Ilość produktu w opakowaniu 500
Jednostka bazowa Jednostka miary produktu g
Ilość referencyjna Ilość referencyjna dla ceny jednostkowej 1
Jednostka referencyjna Jednostka, za którą podawana jest cena kg

Dla produktu o wadze 500 g i cenie 12,99 zł plugin automatycznie obliczy cenę jednostkową jako 25,98 zł/kg.

Wtyczka obsługuje te jednostki miary:

  • Waga: g, kg, mg
  • Objętość: ml, l, cl
  • Długość: mm, cm, m
  • Sztuki: szt (piece)

Wtyczka przelicza jednostki automatycznie. Jeśli produkt ma wagę w gramach, a jednostka referencyjna to kilogram - wartość zostanie przeliczona.

Dla produktów zmiennych cenę jednostkową ustawiasz na dwóch poziomach:

  1. Na poziomie produktu głównego - wartość dziedziczona przez wszystkie warianty
  2. Na poziomie wariantu - nadpisuje ustawienia produktu głównego

Jeśli warianty mają różną wagę (np. 250 g i 500 g), ustaw cenę jednostkową osobno dla każdego wariantu. Wtyczka automatycznie zaktualizuje cenę, gdy klient zmieni wariant (AJAX).

Użyj shortcode [polski_unit_price], aby wyświetlić cenę jednostkową w dowolnym miejscu.

Parametr Typ Domyślny Opis
product_id int bieżący ID produktu
before string "" Tekst przed ceną
after string "" Tekst po cenie
wrapper string span Element HTML opakowujący

Podstawowe użycie na stronie produktu:

[polski_unit_price]

Z niestandardowym ID produktu i tekstem:

[polski_unit_price product_id="123" before="Cena za kg: " after=" brutto"]

W szablonie PHP:

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

Filtr pozwala zmienić HTML ceny jednostkowej przed wyświetleniem.

apply_filters('polski/price/unit_price_html', string $html, float $unit_price, WC_Product $product, array $args): string
Parametr Typ Opis
$html string Wygenerowany HTML ceny jednostkowej
$unit_price float Obliczona cena jednostkowa
$product WC_Product Obiekt produktu WooCommerce
$args array Tablica z kluczami: base_qty, base_unit, ref_qty, ref_unit
add_filter('polski/price/unit_price_html', function (string $html, float $unit_price, WC_Product $product, array $args): string {
$category_class = '';
if (has_term('napoje', 'product_cat', $product->get_id())) {
$category_class = ' polski-unit-price--beverage';
}
return sprintf(
'<span class="polski-unit-price%s">%s/%s</span>',
esc_attr($category_class),
wc_price($unit_price),
esc_html($args['ref_unit'])
);
}, 10, 4);

Przykład: ukrycie ceny jednostkowej dla wybranych kategorii

Dział zatytułowany „Przykład: ukrycie ceny jednostkowej dla wybranych kategorii”
add_filter('polski/price/unit_price_html', function (string $html, float $unit_price, WC_Product $product): string {
if (has_term('uslugi', 'product_cat', $product->get_id())) {
return '';
}
return $html;
}, 10, 3);

Cenę jednostkową importujesz przez standardowy importer WooCommerce. Dodaj te kolumny do pliku CSV:

Kolumna CSV Opis
polski_unit_base_qty Ilość bazowa
polski_unit_base_unit Jednostka bazowa
polski_unit_ref_qty Ilość referencyjna
polski_unit_ref_unit Jednostka referencyjna

Przykładowy wiersz CSV:

"Kawa mielona 500g",29.99,500,g,1,kg

Sprawdź, czy:

  1. Moduł ceny jednostkowej jest włączony w ustawieniach
  2. Produkt ma wypełnione pola ilości bazowej i jednostki
  3. Motyw obsługuje hook woocommerce_after_shop_loop_item_title (listing) oraz woocommerce_single_product_summary (strona produktu)

Sprawdź, czy jednostka bazowa i referencyjna są z tej samej kategorii (np. obie wagowe lub obie objętościowe). Wtyczka nie przelicza gramów na litry.

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.