Jak dodać powiadomienie dla administratora przy rejestracji nowego klienta w WooCommerce

Trudno znaleźć sklep internetowy, który nie posiadałby opcji zakładania konta dla użytkownika. Brak tej opcji negatywnie wpływa na wizerunek e-sklepu i może w oczach odwiedzającego oznaczać, że właściciel strony nie dba o swoich klientów.
Oczywiście nie wszyscy użytkownicy rejestrują się na stronie, tym bardziej, gdy planują zrobić jednorazowy zakup. Ale są tacy, którzy na pewno dołączyliby do grona użytkowników sklepu internetowego. Ich można łatwiej nakłonić do tego, aby zostali stałymi klientami, oferując ciekawe promocje. Obecność konta klienta jest właśnie jednym z głównych instrumentów do realizacji tego celu.
Jeśli szukasz wtyczki do łatwego stworzenia własnej treści do e-maili wysyłanych z WooCommerce to sprawdź darmową wtyczkę ShopMagic (nowa wtyczka WP Desk).
Konta i powiadomienia w WooCommerce
Dla użytkowników systemu WordPress dostępne są standardowe opcje zakładania konta i zarządzania nim. Oprócz tego, z poziomu strony administratora, jest zestaw instrumentów do zarządzania kontami użytkowników. Należy tylko aktywować możliwość zakładania kont (standardowo ta opcja jest wyłączona) i skorzystać z bazowych opcji WordPress.
Wtyczka WooCommerce również zawiera blok odpowiadający za rejestrację klientów i zarządzania nimi, co również upraszcza proces realizacji sklepu internetowego. Na pewno tych opcji jest za mało dla tworzenia dużego e-sklepu, ale jeśli jest potrzeba, można skorzystać z dodatkowych rozwiązań. Część z nich znajduję się w repozytorium WordPress. Ale to już zupełnie inna bajka.
Dzisiejszy temat dotyczy dość prostej kwestii, która może pojawić się podczas tworzenia sklepu internetowego. Chodzi o możliwości wysyłania powiadomień do administratora przy rejestracji nowego klienta w WooCommerce. Jeśli w przypadku zwykłej rejestracji na stornie WordPress takie powiadomienie trafia na skrzynkę admina, to podczas zakładania konta na stronie sklepu już nie.
Przyczyna tego problemu kryje się w różnych rolach użytkowników nadawanych przez system podczas rejestracji na stronie i w sklepie. Podczas rejestracji na stronie WordPress odwiedzający otrzymuje rolę subskrybent (administrator może ją zmienić następnie na współpracownik, autor, redaktor albo administrator). W przypadku WooCommerce to klient (customer), któremu administrator może nadać rolę manager sklepu (shop manager).
Powiadomienia – funkcja woocommerce_created_customer
Dlatego aby rozwiązać powyższy problem należy dodać funkcję, która będzie wysyłać powiadomienia podczas rejestracji klientów na stronie sklepu. Tak jak i w poprzednim naszym wpisie dodamy taką funkcję do pliku functions.php używanego motywu domyślnego. Ten plik znajduje się w katalogu z motywem i dostać się do niego można za pomocą ftp, menedżera plików na hostingu oraz za pomocą edytora wbudowanego w WordPress.
W naszym przypadku skorzystamy z dostępnego w sekcji Wygląd panelu administracyjnego WordPress. Za jego pomocą otwórzmy plik functions.php, przejdźmy na koniec pliku i dodajmy następujący kod (rys. 1):

add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1); function admin_email_on_registration( $customer_id) { wp_new_user_notification( $customer_id ); }
W powyższym kodzie woocommerce_created_customer to argument funkcji (znany również jak WP hook), który jest wywoływany, gdy tworzy się konto dla użytkownika przez WooCommerce. Za jego pomocą wysyła się powiadomienia dla klienta o udanej rejestracji. Dlatego skorzystamy z tego hooka do wysyłania emaili również do administratora. Pomoże nam w tym funkcja wp_new_user_notification funkcji ().
Teraz możemy zapisać zmiany w pliku functions.php i sprawdzić, jak to działa. Dlatego zarejestrujemy nowego użytkownika na stronie używając dowolnego adresu e-mail i hasło (rys. 2):

Po udanej rejestracji pojawi się przed nami strona Moje konto (rys. 3), która pozwala użytkownikowi zarządzać danymi personalnymi, informacją kontaktową, zamówieniami itd.

W miedzy czasie na skrzynkę wpisaną podczas zakładania strony (skrzynkę administratora) przyszedł email informujący o rejestracji nowego użytkownika (rys. 4).

Treść emaila jest taka sama, jak w przypadku z rejestracją użytkownika na stronie WordPress. Zmienić ją można modyfikując zawartość pliku pluggable.php, który znajduje się w folderze wp-includes na serwerze. Oprócz tego w repozytorium dostępne są różne wtyczki, pozwalające zmienić zawartość emaili bezpośrednio z panelu administracyjnego WordPress.
Podsumowanie
Jak widać, udało się rozwiązać nasz dzisiejszy problem w bardzo prosty sposób. Dlatego zmodyfikowaliśmy plik functions.php, który znajduje się w folderze z motywem używanym domyślnie. Pod naszym ostatnim wpisem opublikowanym na stronie pojawił się bardzo ważny komentarz.
Dotyczy on modyfikacji plików motywu. Autor komentarza mówi na o tym, że wszystkie zmiany, które chcielibyśmy wprowadzić do motywu należy robić z motywem potomnym. Tworzenie i modyfikacja motywu potomnego pozwoli zabezpieczyć wszystkie wprowadzone zmiany przed utratą podczas następnej aktualizacji template’u. Zgadzamy się z tym w 100%! W naszym przypadku jest to przykładowe rozwiązanie problemu. Ale na stałe musi ono znajdować się w pliku functions.php motywu potomnego.
P.S. Dziękuję za ten komentarz! Bardzo miło, że wzbudził on dyskusję. Zapraszam również do komentowania pozostałych wpisów ;)
Ekskluzywne porady, triki i trendy bezpośrednio na Twoją skrzynkę odbiorczą. Adres e-mail

Comments are closed.
5 komentarzy
nie wiem ile ma ten post i do której wersji woo się odnosi ale w 3.1.2 nie działa.
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://accounts.binance.com/es/register?ref=T7KCZASX
Your article helped me a lot, is there any more related content? Thanks!
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.