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.
Kiedy cena jednostkowa jest wymagana
Dział zatytułowany „Kiedy cena jednostkowa jest wymagana”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.
Konfiguracja
Dział zatytułowany „Konfiguracja”Przejdź do WooCommerce > Ustawienia > Polski > Ceny i włącz moduł ceny jednostkowej. Po włączeniu w edytorze produktu pojawi się nowa sekcja w zakładce “Ogólne”.
Pola w edytorze produktu
Dział zatytułowany „Pola w edytorze produktu”| 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.
Obsługiwane jednostki
Dział zatytułowany „Obsługiwane jednostki”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.
Warianty produktów
Dział zatytułowany „Warianty produktów”Dla produktów zmiennych cenę jednostkową ustawiasz na dwóch poziomach:
- Na poziomie produktu głównego - wartość dziedziczona przez wszystkie warianty
- 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).
Shortcode
Dział zatytułowany „Shortcode”Użyj shortcode [polski_unit_price], aby wyświetlić cenę jednostkową w dowolnym miejscu.
Parametry
Dział zatytułowany „Parametry”| 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 |
Przykłady użycia
Dział zatytułowany „Przykłady użycia”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() . '"]');Hook: polski/price/unit_price_html
Dział zatytułowany „Hook: polski/price/unit_price_html”Filtr pozwala zmienić HTML ceny jednostkowej przed wyświetleniem.
Sygnatura
Dział zatytułowany „Sygnatura”apply_filters('polski/price/unit_price_html', string $html, float $unit_price, WC_Product $product, array $args): stringParametry
Dział zatytułowany „Parametry”| 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 |
Przykład: dodanie klasy CSS
Dział zatytułowany „Przykład: dodanie klasy CSS”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);Import CSV
Dział zatytułowany „Import CSV”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,kgNajczęstsze problemy
Dział zatytułowany „Najczęstsze problemy”Cena jednostkowa nie wyświetla się
Dział zatytułowany „Cena jednostkowa nie wyświetla się”Sprawdź, czy:
- Moduł ceny jednostkowej jest włączony w ustawieniach
- Produkt ma wypełnione pola ilości bazowej i jednostki
- Motyw obsługuje hook
woocommerce_after_shop_loop_item_title(listing) orazwoocommerce_single_product_summary(strona produktu)
Nieprawidłowe przeliczenie
Dział zatytułowany „Nieprawidłowe przeliczenie”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.