Zapis krok po kroku
Ta strona prowadzi jeden zapis od początku do końca: klient zaznacza pole przy finalizacji, rekord zostaje zapisany, Ty go przeglądasz i eksportujesz. Na końcu jest jedyna akcja dla programistów.
1. Pole wyboru przy finalizacji
Dział zatytułowany „1. Pole wyboru przy finalizacji”Gdy zapis jest włączony, Abono renderuje wiersz zgody na klasycznej finalizacji, zaraz pod akceptacją regulaminu, domyślnie niezaznaczony. Miejsce jest stałe, wyboru umiejscowienia nie ma. Wiersz to pole wyboru w formie znaczka pocztowego, etykieta zgody i stempel, który przybija się obok etykiety po zaznaczeniu. Jedyny skrypt odpowiada za prezentację: przełącza klasę animacji stempla. Formularz i wysyłkę obsługuje WooCommerce, więc przy wyłączonym JavaScripcie pole nadal działa, pomijana jest tylko animacja.
2. Zamówienie zostaje złożone
Dział zatytułowany „2. Zamówienie zostaje złożone”Abono zapisuje subskrybenta na haku woocommerce_checkout_order_processed, który uruchamia się po udanej finalizacji. Reaguje tylko wtedy, gdy jego własne pole (subscribe_optin) przyszło z wartością 1, czyli gdy klient je zaznaczył. Nonce finalizacji sprawdziło już wcześniej WooCommerce.
Adres pochodzi z e-maila rozliczeniowego zamówienia; jeśli obiekt zamówienia jest niedostępny, wtyczka sięga po przesłane billing_email i sprawdza je przez is_email(). Pusty lub niepoprawny adres jest po cichu pomijany.
3. Rekord zostaje zapisany (raz)
Dział zatytułowany „3. Rekord zostaje zapisany (raz)”Przed zapisem Abono sprawdza, czy adres już istnieje: porównanie ignoruje wielkość liter i obejmuje rekordy opublikowane i prywatne. Jeśli adres jest znany, nic się nie dzieje, więc powracający klient nigdy nie tworzy duplikatu. Nowy adres jest zapisywany jako prywatny wpis subscribe_subscriber z czterema metadanymi:
_subscribe_email, oczyszczony adres (jest też tytułem wpisu)_subscribe_consent,1, jawny znacznik zgody_subscribe_source,checkout_subscribe_consented_at, znacznik czasu uniksowego
Przeglądanie subskrybentów
Dział zatytułowany „Przeglądanie subskrybentów”Otwórz WooCommerce > Subscribers. Lista pokazuje E-mail (jako odnośnik mailto:), Źródło i Datę zapisu (sortowalną). Otwarcie rekordu pokazuje metabox ze szczegółami: adres, czy zapisano jawną zgodę, źródło i datę. Nowych rekordów nie da się dodać z panelu, subskrybent trafia na listę wyłącznie przez prawdziwy zapis.
Eksport listy
Dział zatytułowany „Eksport listy”Przycisk Eksportuj do CSV jest nad listą subskrybentów. Pobiera wszystkich jako subscribers-RRRR-MM-DD.csv z czterema kolumnami: E-mail, Zgoda, Źródło i Data zapisu (UTC). Odnośnik jest zabezpieczony nonce’em i wymaga uprawnienia manage_woocommerce. Komórki zaczynające się od =, +, -, @, tabulatora lub znaku powrotu karetki dostają apostrof z przodu, więc wartość podana przez subskrybenta nie wykona się w arkuszu jako formuła.
Abono nie wysyła niczego do usługi zewnętrznej: wyeksportuj CSV i zaimportuj go do swojego narzędzia, gdy będziesz gotów.
Dla programistów: subscribe/subscriber_created
Dział zatytułowany „Dla programistów: subscribe/subscriber_created”Nowy subskrybent uruchamia jedną akcję. Odpala się tylko przy naprawdę nowym zapisie, bo opisane wyżej odsiewanie duplikatów gwarantuje, że dla znanego adresu nie wystąpi.
add_action( 'subscribe/subscriber_created', function ( int $post_id, string $email, string $source ): void { // np. e-mail powitalny, wpis do logu albo własna kolejka. wp_mail( $email, __( 'Dziekujemy za zapis', 'your-textdomain' ), sprintf( 'Jestes na liscie (%s).', $source ) ); }, 10, 3);To właśnie na tym haku wieszasz e-mail powitalny, powiadomienie dla administratora albo synchronizację z własnym systemem. Wbudowanego powiadomienia dla administratora wtyczka nie ma.
Powiązane
Dział zatytułowany „Powiązane”- Konfiguracja, każde ustawienie wyjaśnione.
- FAQ, częste pytania.