Przejdź do głównej zawartości

Korzystanie z list oczekujących

Ten przewodnik prowadzi przez jeden pełny cykl powiadomienia o dostępności od początku do końca: klient zapisuje się na niedostępnym produkcie, Ty uzupełniasz stan, a każdy oczekujący subskrybent dostaje e-mail automatycznie.

Gdy produkt jest niedostępny lub na zamówieniu (backorder), Waitlist renderuje formularz listy oczekujących w podsumowaniu produktu, pole e-mail, wymagane pole zgody i przycisk wysyłki. Dla zalogowanego klienta e-mail jest uzupełniony z góry.

Klient wpisuje e-mail, zaznacza zgodę i wysyła. Wysyłka to asynchroniczne fetch (bez przeładowania strony, bez jQuery), a wynik jest ogłaszany w regionie aria-live, sukces, nieprawidłowy e-mail lub brak zgody.

Na produkcie z wariantami formularz pojawia się, gdy klient wybierze niedostępny wariant. Waitlist zapisuje ID tego wariantu, więc zapis dotyczy konkretnej opcji, której chciał klient, a nie produktu jako całości.

Ustaw stan produktu (lub wariantu) z powrotem na Dostępny w WooCommerce. Gdy WooCommerce wyzwoli woocommerce_product_set_stock_status ze statusem instock, Waitlist e-mailuje każdego oczekującego subskrybenta tego produktu, a dla wariantów także jego produkt nadrzędny, używając wp_mail. Każdy subskrybent powiadomiony pomyślnie jest oznaczany jako notified, więc nikt nie jest kontaktowany dwa razy. Nie trzeba konfigurować kolejki ani crona.

Powiadomienie to tekstowy e-mail zbudowany ze skonfigurowanego tematu, wstępu i zakończenia. Pochodzi z własnego mailera Twojej witryny, więc dostarczalność zależy od konfiguracji poczty WordPress (wtyczka SMTP lub Twój hosting). Jeśli testowy e-mail nie dociera, sprawdź dostarczanie poczty przed debugowaniem Waitlist.

Zalogowani klienci widzą zakładkę Moje konto > Listy oczekujących z aktywnymi zapisami, każdy z bieżącym stanem magazynowym i akcją opuszczenia listy. Goście nie mają widoku konta; ich zapis i tak otrzymuje e-mail o dostępności.

Domyślnie formularz dodawany jest do podsumowania produktu. Aby umieścić go gdzie indziej we własnym układzie produktu, użyj shortcode’u:

[restock_waitlist]
[restock_waitlist id="123"]

id celuje w konkretny produkt. W obu przypadkach formularz nadal renderuje się tylko wtedy, gdy produkt jest niedostępny lub na zamówieniu, więc nigdy nie pokazuje się na produkcie dostępnym.

Otwórz WooCommerce > Waitlist > Subscribers, aby przeglądać zapisy, filtrować po produkcie i eksportować listę do CSV, przydatne do oceny popytu na produkt przed ponownym zamówieniem.

Formularz jest renderowany po stronie serwera w PHP i siedzi w normalnym przepływie dokumentu w podsumowaniu produktu, nie ma leniwego wstrzykiwania, które przesuwa treść, więc nie szkodzi Cumulative Layout Shift. Jedyny skrypt to małe vanilla-JavaScript fetch do wysyłki, ładowane z defer w stopce. Pole e-mail ma prawdziwą etykietę (jako tekst dla czytników), pole zgody jest wymagane, a formularz ustawia aria-busy podczas wysyłki i ogłasza wyniki przez aria-live, zbudowany z myślą o WCAG 2.2 AA.

  • Shortlist: gdy ustawienie w Shortlist jest włączone, niedostępny lub zamawiany na życzenie produkt prosty na liście życzeń pokazuje ten sam formularz zapisu, więc klient zapisuje się bez otwierania strony produktu. Niedostępny produkt zmienny pokazuje przycisk Notify when available, który otwiera stronę produktu.
  • Rezervo: produkt lub wariant oznaczony w Rezervo jako przedsprzedaż pokazuje tylko przycisk przedsprzedaży Rezervo, bez formularza listy oczekujących, a obsługa zapisu też go odrzuca. W produkcie zmiennym z mieszanymi wariantami wybór wariantu w przedsprzedaży ukrywa formularz, a wybór niedostępnego wariantu spoza przedsprzedaży go pokazuje. Wymaga Waitlist 1.1.5 i Rezervo 1.1.5 lub nowszych oraz włączonej przedsprzedaży w Rezervo.