E-mail értesítés küldése WooCommerce rendelés állapotváltozása esetén
Szóval vannak egyedi WooCommerce rendelés státuszaid, de még jobb lenne, ha automatikusan kapnál értesítést az állapotváltozásról, vagy menne az e-mail a vásárlónak?
Mivel a WooCommerce az új rendelés állapotokat nem "csatornázza be" az e-mailes beállítások felületére, ezért a kimenő leveleket nem tudjuk testreszabni. Sőt, ami azt illeti: nincsenek is kimenő levelek az egyedileg létrehozott rendelés státuszoknál, amíg mi nem intézkedünk.
Hozzuk tehát létre az add_woocommerce_custom_order_status_notifications.php
fájlt az mu-plugins mappában, az alábbi tartalommal:
Ahogy látod, a fenti kód automatikusan küld egy e-mailt a főnöknek (ez látszik az e-mail címből is ;)), amikor egy-egy rendelés termékeit gyártani kezdik. De mi van akkor, ha a vásárlónak is szeretnénk értesítést küldeni? Ebben az esetben hozzá kellene férnünk a rendeléshez tartozó felhasználó e-mail címéhez is - aggodalomra semmi ok, hiszen az értesítő function-t meghívó függvény az $order
-t is átadja, második paraméterként, az értesítő függvénynek, tehát az alábbi kód alkalmas lesz a célunk elérésére:
Itt két fontos változás van: az egyik, hogy az $order_id
mellett az $order
is megjelenik a function szignatúrájában, a másik pedig, hogy az add_action
-nél az utolsó paraméter 1 helyett 2 lesz. Ez utóbbi jelzi azt, hogy a meghívott function (send_manufacturing_email_to_customer
) mennyi paramétert vár.
Szuper, eddig minden működött automágikusan, de a legfontosabbról még nem is beszéltünk: hogyan fogja tudni a WooCommerce, hogy mikor melyik függvényt kell meghívnia? Az add_action
első paraméteréből, méghozzá annak a végéből: a woocommerce_order_status_manufacturing
utolsó tagja (ebben az esetben a manufacturing
) meg kell, hogy egyezzen a figyelni kívánt státusz wc-
utáni részével. Tehát ha a státusz, amin valamit csinálni szeretnénk (mondjuk levelet küldeni) wc-yoloing
, akkor az add_action
első paramétere woocommerce_order_status_yoloing
lesz.
A két fenti kódrészlet össze is kombinálható (tehát megy egy e-mail a főninek és egy a vásárlónak), az alábbi formában:
Hát ezzel is megvagyunk: azon túl, hogy van egyedi rendelés állapotunk, most már van egyedi rendelés állapotról szóló e-mailes értesítésünk is - jók vagyunk, na! :)
Kérdésed, témajavaslatod van? Írj bátran!