Klient składa zamówienie i chce wskazać, kiedy najlepiej je dostarczyć. Sklep też wolałby tę informację dostać od razu, zamiast później prowadzić rozmowę pod tytułem „a da się w czwartek?”. W WooCommerce 11.2 pojawiła się wygodna opcja: pole typu date w Checkout block. Dzięki niemu można zebrać preferowaną datę dostawy przy składaniu zamówienia.
Jest jednak mały haczyk. To nie jest magiczny dyspozytor kurierów ani automatyczny kalendarz logistyczny. Pole zapisuje datę, ale samo nie steruje wysyłką, nie rezerwuje terminu i nie sprawdza całego grafiku sklepu. Poniżej pokazuję, jak działa data dostawy WooCommerce, jak ją dodać, ograniczyć dostępne dni i bezpiecznie przetestować całość.
Co właściwie zmienia WooCommerce 11.2?
WooCommerce 11.2 rozszerza Additional Checkout API o pola typu date dostępne w Checkout block. To oznacza, że formularz zamówienia może zebrać od klienta konkretną datę związaną z zakupem. Jednym z przykładów jest właśnie preferowany dzień dostawy. Można więc dodać w checkoutcie pole, w którym klient wybiera interesujący go dzień.
Ważne: mówimy o dacie bez komponentu czasu. Pole nie służy do wyboru godziny, na przykład przedziału 10:00–12:00. Zbiera dzień, nie całe okno dostawy.
Pole daty to informacja przy zamówieniu, nie magiczny dyspozytor
Wybrana data może zostać zapisana jako informacja dotycząca konkretnego zamówienia. To przydatne, bo obsługa widzi preferencję klienta w miejscu, gdzie faktycznie jej potrzebuje. Nie oznacza to jednak automatycznej zmiany metody wysyłki, rezerwacji kuriera ani potwierdzenia, że dostawa na pewno odbędzie się tego dnia.
Najprościej myśleć o tym tak: pole zbiera życzenie klienta, a sklep musi jeszcze sprawdzić, czy jest w stanie je spełnić. Sam formularz nie zna przecież wszystkich możliwości operacyjnych firmy. Nie warto więc komunikować wybranej daty jako gwarantowanego terminu, jeśli nie została dodatkowo potwierdzona.
Czy klient może wskazać dzień dostawy?
Tak, klient może wskazać preferowany dzień dostawy, jeśli sklep korzysta z Checkout block i ma dodane pole daty. W przypadku informacji dotyczącej konkretnego zamówienia logicznym miejscem jest lokalizacja order. Dzięki temu data trafia do zamówienia, a nie do danych kontaktowych, adresu czy informacji konta klienta.
Ta sama funkcja może służyć także do zebrania innej daty związanej z realizacją zamówienia. Wszystko zależy od tego, jak sklep chce wykorzystać tę informację. Najważniejsze, żeby etykieta pola mówiła wprost, czego oczekuje sklep: preferowanego dnia, planowanego terminu czy innej daty.
Preferowany dzień a gwarantowana dostawa
Tu warto postawić sprawę jasno. Data w checkout WooCommerce może być preferencją klienta, ale sama w sobie nie jest obietnicą dostawy. Materiały WooCommerce potwierdzają zebranie daty przy zamówieniu, nie zaś automatyczne zarządzanie kurierem, harmonogramem dostaw czy powiadomieniami.
Jeśli sklep przyjmuje takie zgłoszenia, powinien jasno opisać znaczenie pola. Na przykład: klient wskazuje preferowany termin, a sklep sprawdza możliwość realizacji. Nie należy przyjmować dat, których firma operacyjnie nie jest w stanie obsłużyć. Formularz nie zastąpi zdrowego rozsądku, choć czasem bardzo by chciał.
Jak dodać pole daty do Checkout block?
Pole daty dodaje się programistycznie, a nie przez zwykłe zaznaczenie opcji w standardowych ustawieniach. Do rejestracji służy funkcja woocommerce_register_additional_checkout_field(). Rejestrację należy uruchomić na akcji woocommerce_init lub później.
W praktyce trzeba przygotować konfigurację pola i określić między innymi jego unikalny identyfikator, etykietę, lokalizację oraz typ. Dla daty używa się typu date. Można też określić, czy pole ma być wymagane. To już nie jest robota w stylu „kliknij i gotowe”, więc przed wdrożeniem warto zrobić kopię zapasową i pracować na środowisku testowym.
Co trzeba ustawić w polu
Podstawowa konfiguracja powinna uwzględniać:
- unikalne id pola, żeby system mógł je rozpoznać;
- etykietę widoczną dla klienta w checkoutcie;
- lokalizację pola, w tym przypadku sensownie ustawioną na
order; - typ date, czyli pole przeznaczone do wyboru daty;
- opcjonalną informację, czy pole ma być wymagane.
Sam schemat nie powinien być bezmyślnie kopiowany do każdej witryny. Trzeba dopasować nazwę, komunikat i sposób obsługi daty do konkretnego sklepu. Jeśli kod wdraża inna osoba, przekaż jej też informację, że chodzi o Checkout block, a nie dowolny formularz checkoutu.
Gdzie trafia zapisana data
Jeśli pole działa w lokalizacji order, jego wartość trafia do zamówienia. Nie jest zapisywana jako informacja konta klienta ani jako element adresu. To ważne rozróżnienie: preferowany termin dotyczy konkretnego zakupu, a nie wszystkich przyszłych zamówień tej osoby.
Technicznie wartość daty jest przechowywana w formacie YYYY-MM-DD. Sposób wyświetlania może zależeć od ustawień lokalizacji oraz formatu daty używanego w witrynie. Nie zdziw się więc, jeśli zapis techniczny i widok dla użytkownika będą wyglądały trochę inaczej.
Jak ograniczyć wybierane terminy?
Nie każdy sklep chce przyjmować datę „na jutro rano”, a potem nerwowo szukać sposobu, żeby ją dowieźć. Pole typu date pozwala ograniczyć dostępny zakres za pomocą opcji min i max. Dzięki temu można wskazać najwcześniejszy i najpóźniejszy możliwy termin.
Zakres można ustawić na dwa sposoby. Pierwszy to konkretne daty zapisane w formacie YYYY-MM-DD. Drugi to okresy względne liczone względem aktualnej daty. Przykładowo P1D oznacza jutro, a P30D termin maksymalnie 30 dni naprzód. Taki zakres jest uwzględniany przy renderowaniu i walidacji pola.
Zakres stały i zakres względny
Zakres stały sprawdzi się wtedy, gdy sklep chce wskazać konkretne granice kalendarza. Zakres względny jest wygodniejszy, gdy dostępne terminy mają przesuwać się wraz z bieżącą datą. Przykład od jutra do 30 dni naprzód nie jest uniwersalnym harmonogramem dla każdego sklepu. To po prostu sposób zapisania zakresu.
Trzeba też znać granice tej funkcji. Same min i max nie zapewniają gotowego wykluczania świąt, konkretnych dni tygodnia, dni wolnych ani terminów już zajętych. Jeśli sklep potrzebuje takich reguł, konieczna może być dodatkowa walidacja lub rozszerzenie. Zakres dat nie zastępuje sprawdzenia realnych mocy przerobowych i harmonogramu dostaw.
Czy to działa ze starym checkoutem?
Nie ma podstaw, żeby zakładać działanie tej funkcji w każdym checkoutcie WooCommerce. Oficjalnie opisany mechanizm Additional Checkout API dotyczy Checkout block. To kluczowa informacja, jeśli sklep korzysta ze starszego checkoutu opartego na shortcode albo z własnych modyfikacji formularza.
Nie ma też potwierdzenia zgodności z każdą wtyczką płatniczą, motywem, dodatkiem do dostawy czy niestandardowym checkoutem. Dlatego sama aktualizacja WooCommerce nie powinna być traktowana jako gwarancja, że pole pojawi się i zadziała bez dodatkowych testów.
Najpierw sprawdź rodzaj checkoutu
Przed wdrożeniem sprawdź, z jakiego checkoutu korzysta sklep. Jeśli to Checkout block, opisany mechanizm jest właściwym punktem wyjścia. Jeśli formularz opiera się na shortcode albo został mocno zmieniony, nie przenoś założeń automatycznie.
Warto też uwzględnić wszystkie dodatki, które zmieniają checkout. Im więcej elementów dotyka formularza zamówienia, tym ważniejszy jest test całości: pola daty, płatności, wysyłki i wiadomości e-mail.
Bezpieczne wdrożenie bez rozwalenia sklepu
Zmiana checkoutu dotyka miejsca, w którym klient finalizuje zakup. Tu nie ma dobrego momentu na eksperymenty na żywym sklepie. Przed aktualizacją WooCommerce lub dodaniem pola wykonaj aktualną kopię bazy danych i plików witryny.
Następnie wdroż zmianę na stagingu. Sprawdź, czy pole jest widoczne, czy można wybrać datę i czy zakres działa zgodnie z założeniami. Dopiero gdy przejście przez cały proces nie budzi zastrzeżeń, można myśleć o publikacji na produkcji.
Checklist przed publikacją
Przed udostępnieniem pola klientom przejdź przez krótką listę:
- wykonaj aktualną kopię bazy danych i plików witryny;
- sprawdź zmianę najpierw na stagingu;
- zweryfikuj, czy sklep korzysta z Checkout block;
- wykonaj testowe zamówienie od początku do końca;
- sprawdź, czy data zapisuje się przy właściwym zamówieniu;
- przetestuj płatność, wysyłkę i wiadomości e-mail;
- obejrzyj pole na urządzeniu mobilnym;
- upewnij się, że komunikat nie obiecuje automatycznie dostawy w wybranym dniu.
Warto sprawdzić także, czy ustawione ograniczenia są zgodne z realnymi możliwościami sklepu. Jeśli firma nie obsługuje dostaw w określone dni, sam zakres od jutra do 30 dni naprzód tego nie rozwiąże. Potrzebne będą dodatkowe reguły albo jasna obsługa zgłoszeń.
Podsumowując: pole typu date w Checkout block WooCommerce 11.2 pozwala zebrać preferowaną datę dostawy i ograniczyć ją zakresem min oraz max. Nie jest jednak systemem logistycznym i nie gwarantuje realizacji w wybranym dniu. Najpierw sprawdź rodzaj checkoutu, potem zrób kopię, przetestuj zmianę na stagingu i wykonaj testowe zamówienie. Jeśli potrzebujesz przełożyć ten temat na bezpieczne wdrożenie, Napisz do Szwagra i opowiedz, czego potrzebujesz — strony, grafiki, filmu albo tekstów.





