Dodanie produktowi pola „termin realizacji” to w WooCommerce dwa zadania. Pierwsze - zdefiniować pole; z tym poradzi sobie ACF. Drugie - sprawić, żeby klient je zobaczył; i tu zaczyna się pisanie PHP w motywie, osobno dla karty produktu, osobno dla koszyka, osobno dla maila z zamówieniem.
Tutaj drugiego zadania nie ma. Przy polu zaznaczasz checkboxem miejsca, w których ma się pojawić - tabela szczegółów, pod krótkim opisem, kafelek w katalogu, pozycja w koszyku, zamówienie i maile. To cała konfiguracja.
Dziesięć typów pól: tekst, dłuższy tekst, liczba, lista wyboru, radio, tak/nie, data, adres WWW, kolor i plik z biblioteki mediów. Przy każdym da się ustawić podpowiedź, wartość domyślną i dopisek po wartości - dzięki któremu w polu wpisujesz samo „3”, a klient widzi „3 dni”.
Pola mogą obowiązywać wszystkie produkty, wybrane kategorie albo wskazane produkty. Wariant ma własne wartości, a gdy ich nie ma - dziedziczy po produkcie nadrzędnym, więc „termin realizacji” nie znika po wybraniu rozmiaru.
Pola wypełniane przez klienta to drugi tryb. Grawer, wymiar, data dostawy - klient wpisuje je na karcie przed dodaniem do koszyka, a wartość jedzie z pozycją do zamówienia, do maila i na fakturę. Wybór może kosztować: dopłata kwotowa albo procentowa jest doliczana do ceny pozycji, więc VAT liczy się sam także przy produktach o różnych stawkach. Pole wymagane blokuje dodanie do koszyka - i robi to po stronie serwera, nie tylko atrybutem w formularzu.
Wartości siedzą w zwykłych polach meta z czytelnym przedrostkiem _twpf_. To nie jest szczegół techniczny, tylko decyzja: dzięki temu znajdzie je bulk edytor, import CSV i każdy inny kod, który ich poszuka. Wtyczka ostrzega, gdy klucz jest już zajęty przez inne pole.
Definicje przenosisz między sklepami plikiem JSON. Agencja ustawia komplet pól raz i wgrywa go na kolejnych wdrożeniach.
ACF, Metabox i Pods robią jedną rzecz bardzo dobrze: pozwalają zdefiniować pole. Żaden z nich nie odpowiada na pytanie, które pada zaraz potem - „to jak teraz pokazać to klientowi?”. Odpowiedzią jest kod w motywie, osobno dla każdego miejsca, w którym pole ma się pojawić. Przy trzech polach i czterech miejscach to dwanaście fragmentów PHP do napisania i utrzymania.
Ta wtyczka nie jest kolejnym konstruktorem pól. Robi to drugie zadanie: przy polu zaznaczasz miejsca, a wtyczka wie, jak je tam wstawić. Jeśli motyw jest nietypowy, zostaje skrót [tw_pole].
Drugi kłopot to pola wypełniane przez klienta. Grawer albo wymiar trzeba dowieźć z karty produktu przez koszyk aż na fakturę, a jeśli wybór ma kosztować - doliczyć dopłatę tak, żeby podatki się zgadzały. Tutaj dopłata jest doliczana do ceny pozycji, nie jako osobna opłata koszyka: osobna opłata ma własną stawkę VAT i przy sklepie z różnymi stawkami rozjeżdża kwotę na fakturze.
Wskazujesz, gdzie pokazać
Tabela szczegółów, pod krótkim opisem, kafelek w katalogu, koszyk, zamówienie i maile. Pięć checkboxów zamiast pisania PHP w motywie.
Pola dla klienta
Grawer, wymiar, data dostawy. Klient wypełnia je przed dodaniem do koszyka, a wartość jedzie z pozycją do zamówienia i na fakturę.
Dopłata zależna od wyboru
Kwotowo albo procentowo. Doliczana do ceny pozycji, więc VAT liczy się sam także przy produktach o różnych stawkach.
Wartości tam, gdzie ich szukasz
Osobna zakładka w danych produktu, obok ceny i stanu magazynowego. Warianty mają własne wartości i dziedziczą brakujące po produkcie.
Klucze czytelne dla innych wtyczek
Przedrostek <code>_twpf_</code> i klucz, który sam ustawiasz. Znajdzie je bulk edytor, import CSV i Twój własny kod.
Przenoszenie między sklepami
Definicje eksportujesz do pliku i wgrywasz na kolejnym sklepie. Wartości przy produktach zostają tam, gdzie ich miejsce.
Testowane z
-
v1.0.0 Nowość
Pierwsze wydanie.
Czym to się różni od ACF?
ACF definiuje pola, ale wyświetlenie ich klientowi wymaga kodu w motywie - osobno dla karty, koszyka i maila. Tutaj wskazujesz miejsca checkboxem.
Czy mogę używać razem z ACF?
Tak. Pola mają własny przedrostek _twpf_ i nie nadpisują cudzych kluczy. Wtyczka ostrzega, gdy klucz jest już zajęty przez inne pole.
Czy klient może dopłacić za opcję?
Tak, kwotowo albo procentowo. Dopłata jest doliczana do ceny pozycji, więc podatki liczą się prawidłowo także w sklepie z różnymi stawkami VAT.
Pole nie pokazuje się na karcie - dlaczego?
Wtyczka wpina się w standardowe haki WooCommerce. Większość motywów je odpala, ale motyw pisany na zamówienie potrafi mieć własny szablon karty i pomijać je w całości. Wtedy zostaje skrót [tw_pole klucz="material"], który wstawisz dokładnie tam, gdzie pole ma stać.
Czy warianty mogą mieć inne wartości?
Tak. Wariant bez własnej wartości dziedziczy ją po produkcie nadrzędnym, więc nie trzeba powtarzać tego samego przy każdym rozmiarze.
Co po usunięciu wtyczki?
Definicje znikają, a wartości przy produktach domyślnie zostają - to praca, której nie wolno skasować przy okazji. Jeśli mają zniknąć razem z wtyczką, zaznaczasz to w ustawieniach.





