Przejdź do głównej zawartości

Przedsprzedaż (pre-orders)

Moduł przedsprzedaży pozwala oznaczać produkty jako pre-order, wyświetlać datę premiery i zmieniać tekst przycisku. Przydatny w sklepach z elektroniką, książkami, grami i innymi produktami oferowanymi przed premierą.

Przejdź do Polski > Moduły i włącz Przedsprzedaż (klucz modułu pre_order). Od Polski PRO 1.22.0 moduły PRO mają tam własne wiersze, a ustawienia poniżej to pola tego wiersza; zapis wiersza wpisuje je do opcji polski_preorder. Moduł jest domyślnie wyłączony, bo zmienia to, co komunikujesz klientowi.

Ustawienie Klucz Domyślnie Opis
Pokaż komunikat przedsprzedaży na karcie produktu show_on_single Włączone Bramkuje komunikat przedsprzedaży na karcie produktu
Tekst przycisku dodania do koszyka button_text puste, zapas “Pre-order now” Globalny tekst przycisku dla produktów w przedsprzedaży
Tekst dostępności availability_text puste, zapas “Pre-order, shipping from {date}” Zastępuje stan magazynowy. {date} to sformatowana data premiery
Pokaż komunikat przedsprzedaży show_notice Włączone Komunikat pod podsumowaniem produktu
Treść komunikatu notice_text puste Treść tego komunikatu. {date} jest podstawiane również tutaj
Pozwól mieszać przedsprzedaż ze zwykłymi produktami w koszyku allow_mixed_cart Włączone Przy włączonym mieszanie jest dozwolone. Wyłącz, aby ostrzegać o mieszanym koszyku
Format daty premiery date_format d.m.Y Format wyświetlania daty premiery

Od Polski PRO 1.26.0 te pola są na zakładce Polski Pro w polu danych produktu i to ona je zapisuje. Całą zakładkę opisuje Ustawienia per produkt.

Pole Klucz Typ Opis
Sell as a pre-order _polski_preorder_enabled yes / no Połowa bramki
Release date _polski_preorder_date string (Y-m-d) Druga połowa, i data pokazywana klientowi
Button text _polski_preorder_button_text string Nadpisuje globalny tekst przycisku dla tego produktu

Produkt jest w przedsprzedaży tylko wtedy, gdy jednocześnie flaga ma yes i data daje się sparsować. Zaznaczenie pola przy pustej dacie nie zmienia niczego na froncie. Tekst dostępności jest globalny, na ekranie Moduły, i nie ma nadpisania per produkt.

Okno terminala
wp post meta update 123 _polski_preorder_enabled "yes"
wp post meta update 123 _polski_preorder_date "2026-06-15"
wp post meta update 123 _polski_preorder_button_text "Zamów teraz, premiera 15 czerwca"
update_post_meta($product_id, '_polski_preorder_enabled', 'yes');
update_post_meta($product_id, '_polski_preorder_date', '2026-06-15');

Przycisk “Dodaj do koszyka” zmienia się na tekst przedsprzedaży. Dotyczy:

  • Strony pojedynczego produktu
  • Stron archiwum, kategorii i tagów
  • Wyników wyszukiwania
  • Bloków WooCommerce (Product Grid, Product Collection)

Zamiast stanu magazynowego wyświetla się tekst z datą premiery. Placeholder {date} jest zamieniany na datę.

Przykład wyświetlania:

Dostępne od 15.06.2026

Nic nie wyłącza się samo. Nie ma zadania cron, które kasowałoby flagę przedsprzedaży po dacie premiery, więc komunikaty zostają, dopóki nie odznaczysz Sell as a pre-order na produkcie albo nie wyczyścisz daty.

Przy wyłączonym Pozwól mieszać przedsprzedaż ze zwykłymi produktami w koszyku koszyk zawierający jednocześnie produkt w przedsprzedaży i zwykły produkt dostaje przy każdym przeliczaniu sum komunikat błędu WooCommerce z treścią ustawioną w module.

To komunikat, nie blokada: produkt i tak zostaje dodany i nic nie powstrzymuje klienta przed dojściem do kasy z mieszanym koszykiem. Daty premiery nie są porównywane, więc dwie przedsprzedaże z różnymi datami nigdy nie są oznaczane.

Moduł nie rejestruje żadnego shortcode’u i nie dodaje własnych filtrów ani akcji. Działa w całości na hookach samego WooCommerce:

Hook WooCommerce Co robi moduł
woocommerce_product_single_add_to_cart_text i woocommerce_product_add_to_cart_text (priorytet 20) Podmienia tekst przycisku
woocommerce_get_availability_text (priorytet 20) Zastępuje stan magazynowy tekstem dostępności
woocommerce_single_product_summary (priorytet 31) Wypisuje komunikat przedsprzedaży
woocommerce_before_calculate_totals Podnosi komunikat o mieszanym koszyku

Żeby zmienić teksty z kodu, podepnij się pod te filtry WooCommerce na późniejszym priorytecie.

Flaga przedsprzedaży i data premiery to meta na produkcie nadrzędnym, więc produkt wariantowy jest w przedsprzedaży w całości albo wcale. Nie ma ustawień przedsprzedaży per wariant.

Produkt dalej jest w przedsprzedaży po dacie premiery Tak to działa dzisiaj, to nie usterka: nic nie kasuje flagi automatycznie. Odznacz Sell as a pre-order na produkcie albo wyczyść jego datę premiery.

Komunikaty przedsprzedaży w ogóle się nie pojawiają Sprawdź wszystkie trzy rzeczy: moduł pre_order jest włączony w Polski > Moduły, Sell as a pre-order jest zaznaczone na produkcie, a produkt ma datę premiery, która daje się sparsować.

Klient wrzucił do jednego koszyka przedsprzedaż i zwykłe produkty To jest dozwolone, dopóki nie wyłączysz Pozwól mieszać przedsprzedaż ze zwykłymi produktami w koszyku, a i wtedy klient dostaje tylko komunikat błędu, nikt go nie zatrzymuje.

Data premiery wyświetla się w złym formacie Sprawdź ustawienie “Format daty” w konfiguracji modułu. Format korzysta ze standardowych placeholderów PHP date().

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.