Czasami podczas opracowywania witryny e-commerce należy automatycznie sprawdzić status płatności i oznaczyć status zamówienia jako „Zakończony“”Do czasu”lub zgodnie z wymaganiami. Domyślny stan zamówienia jest ustalany na podstawie dokonanej płatności. Użytkownicy Front-end mogą sprawdzić status swojego zamówienia na stronie Historia konta. W tym blogu dowiemy się, jak zmienić domyślny stan zamówienia na Woo Commerce jako „Faktura do wydrukowania" krok po kroku.
Krok 1: utwórz niestandardową wtyczkę
Aby utworzyć niestandardową wtyczkę w swojej witrynie, wykonaj następujące czynności:
1. Przejdź do folderu wtyczek Word Press, w naszym przypadku jest to aplikacja / wtyczki. Utwórz folder jako „customstatus“.
Ważna uwaga: Nadaj folderowi unikalną nazwę (domyślna nazwa wtyczki Word Press nie powinna kolidować z nazwą wtyczki), używając małych liter i myślników.
2. Teraz utwórz główny plik PHP wtyczki. Aby to zrobić, utwórz plik PHP w folderze wtyczki i nadaj mu taką samą nazwę jak nazwa folderu. W naszym przypadku nazwa folderu to „customstatus”, więc nazwa pliku to customstatus.php.
3. Skonfiguruj informacje o wtyczce. Wystarczy skopiować i wkleić poniższy kod do pliku customstatus.php.
/ **
?* Plugin Name: My First Plugin
?* Plugin URI: https://www.mywebsite.com/my-first-plugin
?* Description: The very first plugin that I have ever created.
?* Version: 1.0
?* Author: Your Name
?* Author URI: https://www.mywebsite.com
?*/
Uwaga: Edytuj szczegóły, takie jak nazwa autora, nazwa wtyczki, opis itp. Zgodnie z wymaganiami.
4. Otóż to! Właśnie ukończyłeś minimalną liczbę kroków wymaganych do utworzenia wtyczki Word Press. Możesz go teraz aktywować na karcie Wtyczki w Word Press admin.
Krok 2: Dodaj kod do niestandardowej wtyczki
1. Teraz musimy stworzyć funkcję i podpiąć ją do określonej akcji. Po prostu skopiuj poniższą funkcję do pliku customstatus.php.
2. Ponieważ chcemy zaktualizować status zamówienia po zakończeniu płatności, dodaj akcję do haka „woocommerce_payment_complete”, jak podano poniżej w wyróżnionym kodzie. // KOPIUJ CAŁY KOD W PLIKU customstatus.php.
# <editor-fold defaultstate = "collapsed" desc = "Domyślny status jako faktura do wydrukowania"> funkcja action_woocommerce_payment_complete ($ order_id) {if (! $ order_id) return; $ order = wc_get_order ($ order_id); $ order-> update_status („wc-print-faktura”); // Status zamówienia zostanie zaktualizowany do „Faktury do wydrukowania”. }; // dodaj działanie add action („woocommerce_payment_complete”, „action_woocommerce_payment_complete”, 10, 3); # </editor-fold>
3. Po prostu zapisz plik customstatus.php i gotowe. Od teraz status zamówienia zostanie zaktualizowany do „Faktury do wydrukowania” po zakończeniu płatności.
PRZYDATNA UWAGA: Jeśli chcesz zaktualizować status zamówienia po załadowaniu strony „Dziękujemy” lub „Sukces kasy”, możesz dodać akcję na haku „woocommerce_thankyou”. W customstatus.php zamień add działań („woocommerce_payment_complete”, „action_woocommerce_payment_complete”, 10, 3); z dodatkowym działaniem („woocommerce_thankyou”, „ggb_custom_change_order_status”, 10,3);