Cena "od" dla produktów z wariantami
Moduł “Cena od” zastępuje domyślny zakres cenowy WooCommerce (np. “19,99 - 49,99 PLN”) czytelniejszym formatem “od 19,99 PLN” dla produktów z wariantami.
Dlaczego to ważne
Dział zatytułowany „Dlaczego to ważne”Domyślny wyświetlacz cen WooCommerce dla produktów z wariantami pokazuje pełny zakres: “19,99 PLN - 49,99 PLN”. To może być mylące dla klientów i zajmuje dużo miejsca na listach produktów.
Format “od 19,99 PLN”:
- Jest bardziej czytelny na urządzeniach mobilnych
- Jasno komunikuje najniższą cenę
- Jest standardem w większości sklepów internetowych
- Działa zarówno na stronach archiwów, jak i na stronie produktu
Konfiguracja
Dział zatytułowany „Konfiguracja”Przejdź do WooCommerce > Ustawienia > Polski > Ceny.
| Ustawienie | Opis | Domyślnie |
|---|---|---|
| Włącz cenę “od” | Pokazuj “od {cena}” zamiast zakresu cenowego | Tak |
| Tekst ceny “od” | Szablon tekstu z tokenem {price} | od {price} |
Przykłady szablonów
Dział zatytułowany „Przykłady szablonów”| Szablon | Wynik |
|---|---|
od {price} | od 19,99 PLN |
Cena od {price} | Cena od 19,99 PLN |
ab {price} | ab 19,99 PLN (dla DE) |
from {price} | from 19,99 PLN (dla EN) |
Jak to dziala
Dział zatytułowany „Jak to dziala”- Moduł filtruje hook
woocommerce_get_price_html - Sprawdza, czy produkt to
WC_Product_Variable - Pobiera ceny wariantów i sprawdza, czy istnieje zakres (min != max)
- Jeśli tak, zastępuje zakres cenowy formatem “od {najnizsza_cena}”
- Jeśli wszystkie warianty mają tę samą cenę, wyświetla normalną cenę
// Dostosuj HTML ceny "od"add_filter('polski/price/from_price_html', function (string $html, WC_Product $product): string { // Dodaj klase CSS lub zmien format return '<span class="my-from-price">' . $html . '</span>';}, 10, 2);Wyłączenie dla wybranych produktów
Dział zatytułowany „Wyłączenie dla wybranych produktów”Jeśli chcesz wyłączyć “od” dla konkretnych produktów, użyj filtra:
add_filter('polski/price/from_price_html', function (string $html, WC_Product $product): string { if ($product->get_id() === 123) { return $product->get_price_html(); // Oryginalny zakres } return $html;}, 10, 2);