Jednotková cena
Poľské právo vyžaduje, aby obchod zobrazoval jednotkovú cenu produktu - napr. cenu za kilogram, liter alebo meter. Plugin Polski for WooCommerce pridáva túto informáciu automaticky na stránke produktu, v zoznamoch a v košíku.
Kedy je jednotková cena vyžadovaná
Section titled “Kedy je jednotková cena vyžadovaná”Povinnosť uvádzať jednotkovú cenu sa týka produktov predávaných na hmotnosť, objem alebo dĺžku. V praxi to zahŕňa:
- potravinárske produkty (cena za kg alebo liter)
- kozmetiku a čistiace prostriedky (cena za 100 ml alebo liter)
- stavebné materiály (cena za bežný meter alebo štvorcový meter)
- sypké produkty (cena za kg)
Jednotková cena musí byť viditeľná na každom mieste, kde je prezentovaná cena produktu - na stránke produktu, vo výsledkoch vyhľadávania, v cenových porovnávačoch a v košíku.
Konfigurácia
Section titled “Konfigurácia”Prejdite do WooCommerce > Nastavenia > Polski > Ceny a zapnite modul jednotkovej ceny. Po aktivácii sa v editore produktu zobrazí nová sekcia v záložke “Všeobecné”.
Polia v editore produktu
Section titled “Polia v editore produktu”| Pole | Popis | Príklad |
|---|---|---|
| Základné množstvo | Množstvo produktu v balení | 500 |
| Základná jednotka | Merná jednotka produktu | g |
| Referenčné množstvo | Referenčné množstvo pre jednotkovú cenu | 1 |
| Referenčná jednotka | Jednotka, za ktorú je uvádzaná cena | kg |
Pre produkt s hmotnosťou 500 g a cenou 12,99 PLN plugin automaticky vypočíta jednotkovú cenu ako 25,98 PLN/kg.
Podporované jednotky
Section titled “Podporované jednotky”Plugin podporuje nasledujúce merné jednotky:
- Hmotnosť: g, kg, mg
- Objem: ml, l, cl
- Dĺžka: mm, cm, m
- Kusy: szt (kus)
Prepočet medzi jednotkami prebieha automaticky. Ak má produkt hmotnosť v gramoch a referenčná jednotka je kilogram, plugin sám prepočíta hodnotu.
Varianty produktov
Section titled “Varianty produktov”Pre variantné produkty (variable products) je možné nastaviť jednotkovú cenu na dvoch úrovniach:
- Na úrovni hlavného produktu - hodnota zdedená všetkými variantmi
- Na úrovni variantu - prepíše nastavenia hlavného produktu
V prípade variantov s rôznou hmotnosťou (napr. balenie 250 g a 500 g) nastavte jednotkovú cenu zvlášť pre každý variant. Plugin automaticky aktualizuje zobrazenú cenu pri zmene variantu zákazníkom (AJAX).
Shortcód
Section titled “Shortcód”Použite shortcód [polski_unit_price] na zobrazenie jednotkovej ceny na ľubovoľnom mieste.
Parametre
Section titled “Parametre”| Parameter | Typ | Predvolený | Popis |
|---|---|---|---|
product_id | int | aktuálny | ID produktu |
before | string | "" | Text pred cenou |
after | string | "" | Text za cenou |
wrapper | string | span | Obaľujúci HTML prvok |
Príklady použitia
Section titled “Príklady použitia”Základné použitie na stránke produktu:
[polski_unit_price]S vlastným ID produktu a textom:
[polski_unit_price product_id="123" before="Cena za kg: " after=" brutto"]V PHP šablóne:
echo do_shortcode('[polski_unit_price product_id="' . $product->get_id() . '"]');Hook: polski/price/unit_price_html
Section titled “Hook: polski/price/unit_price_html”Tento filter umožňuje upraviť HTML jednotkovej ceny pred zobrazením.
Signatúra
Section titled “Signatúra”apply_filters('polski/price/unit_price_html', string $html, float $unit_price, WC_Product $product, array $args): stringParametre
Section titled “Parametre”| Parameter | Typ | Popis |
|---|---|---|
$html | string | Vygenerované HTML jednotkovej ceny |
$unit_price | float | Vypočítaná jednotková cena |
$product | WC_Product | Objekt produktu WooCommerce |
$args | array | Pole s kľúčmi: base_qty, base_unit, ref_qty, ref_unit |
Príklad: pridanie CSS triedy
Section titled “Príklad: pridanie CSS triedy”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);Príklad: skrytie jednotkovej ceny pre vybrané kategórie
Section titled “Príklad: skrytie jednotkovej ceny pre vybrané kategórie”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
Section titled “Import CSV”Jednotkovú cenu je možné importovať pomocou štandardného importéra WooCommerce. Pridajte nasledujúce stĺpce do súboru CSV:
| Stĺpec CSV | Popis |
|---|---|
polski_unit_base_qty | Základné množstvo |
polski_unit_base_unit | Základná jednotka |
polski_unit_ref_qty | Referenčné množstvo |
polski_unit_ref_unit | Referenčná jednotka |
Príkladný riadok CSV:
"Kawa mielona 500g",29.99,500,g,1,kgNajčastejšie problémy
Section titled “Najčastejšie problémy”Jednotková cena sa nezobrazuje
Section titled “Jednotková cena sa nezobrazuje”Skontrolujte, či:
- Modul jednotkovej ceny je zapnutý v nastaveniach
- Produkt má vyplnené polia základného množstva a jednotky
- Téma podporuje hook
woocommerce_after_shop_loop_item_title(zoznam) awoocommerce_single_product_summary(stránka produktu)
Nesprávny prepočet
Section titled “Nesprávny prepočet”Uistite sa, že základná a referenčná jednotka patria do rovnakej kategórie (napr. obidve hmotnostné alebo obidve objemové). Plugin neprepočítava medzi kategóriami - nie je možné prepočítať gramy na litre.