Przejdź do głównej zawartości

Ustawienia per produkt (zakładka Polski Pro)

Pięć modułów PRO konfiguruje się per produkt, nie globalnie: karty podarunkowe, przedsprzedaż, subskrypcje, pakiety produktów i często kupowane razem. Każdy z nich decyduje, czy w ogóle zadziała dla danego produktu, czytając meta zapisane na tym produkcie. Od Polski PRO 1.26.0 jest ekran, który te klucze zapisuje: zakładka Polski Pro w polu danych produktu w edytorze WooCommerce.

Otwórz dowolny produkt i spójrz na pole Dane produktu. Zakładka Polski Pro stoi po standardowych zakładkach WooCommerce i pokazuje się dla produktów prostych, wariantowych i zewnętrznych.

Zakładka pojawia się tylko wtedy, gdy włączony jest co najmniej jeden z pięciu modułów w Polski > Moduły. Przy wszystkich pięciu wyłączonych nie ma czego konfigurować, więc zakładka nie jest w ogóle dokładana. Wewnątrz zakładki grupę pól dostają wyłącznie moduły włączone: włącz dwa, a zobaczysz dwie grupy, nie pięć.

To jest pierwsza rzecz do sprawdzenia, gdy brakuje spodziewanego pola. Moduł jest przełącznikiem dla całego sklepu, ta zakładka jest przełącznikiem dla jednego produktu.

Każda grupa niżej odpowiada jednemu modułowi. Klucz meta jest tym, który czyta serwis danego modułu, więc kolumna z kluczem odpowiada zarazem na pytanie “co ustawić z WP-CLI albo z kodu”.

Pole Klucz meta Typ Uwagi
Sell as a gift card _polski_gift_card_enabled yes / no Bramka. Moduł traktuje produkt jak kartę podarunkową tylko przy yes.
Preset amounts _polski_gift_card_amounts tekst Rozdzielone przecinkami, na przykład 50, 100, 200. Puste cofa się do globalnych kwot modułu.
Allow a custom amount _polski_gift_card_allow_custom_amount yes / no Pozwala kupującemu wpisać własną kwotę. Moduł honoruje też swoje ustawienie globalne, więc sklepowe “pozwól na własną kwotę” działa nawet przy odznaczonym polu.
Minimum custom amount _polski_gift_card_min_amount liczba Czytane jako nadpisanie globalnego minimum modułu.
Maximum custom amount _polski_gift_card_max_amount liczba Czytane jako nadpisanie globalnego maksimum modułu.
Pole Klucz meta Typ Uwagi
Sell as a pre-order _polski_preorder_enabled yes / no Połowa bramki.
Release date _polski_preorder_date data (Y-m-d) Druga połowa. Potrzebne są obie: przy zaznaczonym polu i pustej dacie produkt zostaje zwykłym produktem, bo moduł wymaga flagi i dającej się sparsować daty, zanim cokolwiek zmieni.
Button text _polski_preorder_button_text tekst Nadpisuje globalny tekst przycisku przedsprzedaży dla tego produktu.
Pole Klucz meta Typ Uwagi
Sell as a subscription _polski_subscription_enabled yes / no Bramka.
Bill every _polski_subscription_interval liczba całkowita Liczba okresów między obciążeniami. Czytane jako co najmniej 1.
Billing period _polski_subscription_period day, week, month, year Bez wartości domyślnie month.
Number of payments _polski_subscription_length liczba całkowita 0 odnawia do czasu rezygnacji klienta.
Sign-up fee _polski_subscription_signup_fee liczba Doliczana raz, przy pierwszej płatności.
Trial days _polski_subscription_trial_days liczba całkowita Dni do pierwszego obciążenia. 0 oznacza brak okresu próbnego.
Pole Klucz meta Typ Uwagi
Bundled products _polski_bundle_items pole tekstowe Jeden składnik na linię, format niżej.
Section title _polski_bundle_title tekst Nadpisuje globalny nagłówek pakietu dla tego produktu.
Button text _polski_bundle_button_text tekst Nadpisuje globalny tekst przycisku pakietu.
Bundle discount _polski_bundle_discount_type puste, percent, fixed Puste oznacza brak rabatu.
Discount value _polski_bundle_discount_value liczba Czytane razem z typem wyżej.

Bundled products przyjmuje jeden składnik na linię, zapisany jako identyfikator produktu, pionowa kreska, ilość, pionowa kreska i informacja, czy składnik jest wymagany:

42|2|yes
57|1|no
88

Ilość i flagę wymagalności można pominąć, więc samo 88 to jedna, nieobowiązkowa sztuka produktu 88. Flaga liczy się jako wymagana przy yes, 1, true albo required. Pojedyncza linia identyfikatorów rozdzielonych przecinkami jest przyjmowana jako skrót na po jednej sztuce każdego. Identyfikatory, które nie wskazują istniejącego produktu, są pomijane.

Nie ma osobnego pola “włącz pakiet”: produkt jest pakietem wtedy, gdy Bundled products wskazuje co najmniej jeden istniejący produkt.

Pole Klucz meta Typ Uwagi
Suggested products _polski_fbt_product_ids tekst Identyfikatory produktów rozdzielone przecinkami, spacjami albo średnikami. Własny identyfikator produktu jest pomijany, duplikaty odrzucane, a lista przycinana do ustawienia modułu Maximum products taken from the product list (domyślnie 4).
Section title _polski_fbt_title tekst Nadpisuje globalny nagłówek dla tego produktu.
Intro text _polski_fbt_intro pole tekstowe Opcjonalna linia pod nagłówkiem.
Button text _polski_fbt_button_text tekst Nadpisuje globalny tekst przycisku dodania całego zestawu.

Tak jak przy pakietach, nie ma tu przełącznika per produkt: blok pojawia się, gdy Suggested products wskazuje co najmniej jeden użyteczny identyfikator.

Każde pole jest sanityzowane po drodze: pole wyboru zapisuje się jako yes albo no, pole całkowite jako liczba całkowita nie mniejsza niż 0, pole liczbowe jako liczba zmiennoprzecinkowa nie mniejsza niż 0, dwa pola wieloliniowe przez sanitize_textarea_field, a wszystko pozostałe przez sanitize_text_field. Pole liczbowe zostawione puste zapisuje się jako puste, a nie jako 0, bo puste pole znaczy “brak wartości dla tego produktu”, a wpisane zero znaczy zero. Nonce i uprawnienie sprawdza WooCommerce, zanim ten kod się uruchomi.

Zapis pomija każdą grupę, której moduł jest wyłączony. To ważniejsze, niż brzmi: odznaczone pole wyboru nie wysyła nic, a pętla czyta brak wartości jako “wyczyszczone”. Dla pola, które merchant właśnie odznaczył, jest to poprawne, a dla pola, którego nigdy nie było na ekranie, nie, więc wyłączenie modułu nie kasuje po cichu wprowadzonych już ustawień per produkt. Po ponownym włączeniu modułu produkt jest skonfigurowany tak jak wcześniej.

Pola podrzędne karty podarunkowej, przedsprzedaży i subskrypcji siedzą w osobnych blokach, z których każdy zwija się, dopóki jego główne pole wyboru jest odznaczone, żeby produkt niebędący kartą podarunkową nie pokazywał pięciu pól karty podarunkowej.

To wyłącznie prezentacja. Znaczniki wychodzą rozwinięte, więc z zablokowanym JavaScriptem każde pole jest widoczne, edytowalne i zapisywane dokładnie tak samo; nic nie jest bramkowane skryptem. Zwinięty blok wypada też z kolejności tabulacji, więc ukrytego pola nie da się wypełnić klawiaturą i zapisać niepostrzeżenie.

  1. Czy moduł jest włączony w Polski > Moduły? Każdy z pięciu jest domyślnie wyłączony, bo każdy zmienia to, co widzi klient.
  2. Czy bramka per produkt jest ustawiona? Karty podarunkowe, przedsprzedaż i subskrypcje wymagają zaznaczenia własnego pola na produkcie, a przedsprzedaż dodatkowo daty premiery.
  3. Przy pakietach i często kupowanych razem: czy lista wskazuje realne, istniejące produkty?
  4. Czy ustawienie modułu Pokaż na karcie produktu (na ekranie Moduły) nadal na to pozwala?