Jak dodawać i edytować status zamówienia niestandardowego w WooCommerce?

Opublikowany: 2022-05-14

Czy chcesz dodać i edytować niestandardowy status zamówienia w WooCommerce? Mogą być bardzo przydatne, aby zapewnić lepszą przejrzystość statusu zamówień Twoich klientów.

Domyślnie WordPress i WooCommerce nie pozwalają na dodanie niestandardowego statusu zamówienia. Ale za pomocą kodów możemy w mgnieniu oka dodać je do Twojego sklepu internetowego i edytować. Przyjrzyjmy się jednak, dlaczego może być konieczne dodanie lub edytowanie statusu zamówienia niestandardowego w WooCommerce, zanim rozpoczniemy proces.

Po co dodawać i edytować status zamówienia niestandardowego w WooCommerce?

Właściwe wykorzystanie statusu zamówienia jest bardzo ważne, aby zapewnić proces zakupu w każdym sklepie internetowym. W witrynie eCommerce może być kilka kroków, przez które klienci muszą przejść, aby sfinalizować zakup. Oczywiście te dodatkowe kroki spowodują mniejszą sprzedaż.

Alternatywnie, im mniejszy status zamówienia musimy obsłużyć, tym lepszą sprzedaż będzie miał sklep eCommerce. Co więcej, ułatwi to również zarządzanie całą witryną.

We wszystkich przypadkach będziemy jednak potrzebować co najmniej dwóch rodzajów statusów zamówień. Pierwszy rodzaj statusu zamówienia jest potrzebny, gdy użytkownik pomyślnie złoży zamówienie. Może być ustawiony na płatność oczekującą, przetwarzanie lub wstrzymanie.

Podobnie potrzebujemy również innego statusu zamówienia, który przypomina, że ​​zamówienie zostało zakończone. Tutaj klient mógł dokonać płatności i otrzymać produkt. Ale jeśli zamówienie nie zostanie zrealizowane z powodu niefortunnego zdarzenia, może zostać nawet ustawione jako nieudane, anulowane lub zwrócone.

W sumie mamy więc następujące domyślne statusy zamówień dostępne w WooCommerce, z których możemy swobodnie korzystać:

  • Oczekująca płatność
  • Przegrany
  • Przetwarzanie
  • Zakończony
  • W oczekiwaniu
  • Odwołany
  • Zwrócone

Te statusy zamówień są całkiem adekwatne dla każdej witryny eCommerce. Są nawet więcej niż wystarczające do tego, czego może użyć przeciętna witryna internetowa.

Ale jeśli te domyślne statusy nadal Ci nie wystarczają, na pewno będziesz musiał stworzyć niestandardowe statusy dla swojego sklepu internetowego. Dodanie ich do swojej witryny z pewnością zapewni Twoim klientom lepsze zrozumienie statusu ich zamówień WooCommerce. Na przykład, jeśli chcesz, aby status zamówienia wyraźnie informował klientów, że ich zamówienie jest połączeniem oczekującym, musisz dodać niestandardowy status zamówienia WooCommerce.

Jak stworzyć status zamówienia niestandardowego WooCommerce?

Zamówienia WooCommerce są traktowane jako specjalny typ postu niestandardowego. Dlatego ma dołączoną wartość post_status w tabeli wp_posts bazy danych w taki sam sposób, jak każdy inny typ postu.

Tak więc, aby włączyć nasz niestandardowy status zamówienia do dostępnej listy statusów, musimy użyć wbudowanej funkcji WP register_post_status() .

Ale zanim przejdziemy dalej, upewnij się, że tworzysz motyw podrzędny programowo lub używając jednej z wtyczek motywu podrzędnego, aby wprowadzić te zmiany. Gwarantuje to, że dostosowania wprowadzone do plików motywu nie zostaną zmienione podczas aktualizacji motywu WordPress. W podobny sposób przypominamy również o wykonaniu kopii zapasowej witryny WordPress, aby można było przywrócić witrynę w przypadku przypadkowego wprowadzenia niepotrzebnych modyfikacji.

1. Uzyskaj dostęp do pliku functions.php

Aby utworzyć i edytować niestandardowy status zamówienia w WooCommerce, musisz najpierw uzyskać dostęp do pliku funkcji motywu. Najpierw przejdź do Wygląd > Edytor plików motywów z pulpitu WordPress. Następnie wybierz plik „ funktions.php ” z plików motywu po prawej stronie ekranu.

2. Dodaj kody do pliku functions.php

Teraz skopiuj i wklej następujący skrypt do pliku functions.php motywu potomnego. Spowoduje to utworzenie nowego niestandardowego statusu zamówienia o nazwie „Oczekujące połączenie”.

 // Zarejestruj nowy status
funkcja register_wait_call_order_status() {
register_post_status( 'wc-oczekujące połączenie', tablica(
'label' => 'Połączenie oczekujące',
'publiczny' => prawda,
'show_in_admin_status_list' => prawda,
'show_in_admin_all_list' => prawda,
'exclude_from_search' => fałsz,
'label_count' => _n_noop( 'Połączenie oczekujące (%s)', 'Połączenie oczekujące (%s)' )
) );
}
// Dodaj niestandardowy status do listy statusów zamówienia
funkcja add_wait_call_to_order_statuses( $order_stauses ) {
$nowe_statusy_zamówień = tablica();
foreach ( $statusy_zamówień jako $klucz => $status ) {
$nowe_statusy_zamówień[ $klucz] = $status;
if ( 'wc-on-hold' === $klucz) {
$new_order_statuses['wc-waiting-call'] = 'Połączenie oczekujące';
}
}
zwróć $nowe_statusy_zamówień;
}
add_action( 'init', 'register_wait_call_order_status' );
add_filter( 'wc_order_statuses', 'add_wait_call_to_order_statuses' );

Zauważ, że używamy tutaj kilku haków. Pierwszym z nich jest wp_init() i służy do rejestracji naszego nowego statusu. Po zarejestrowaniu statusu ta funkcja nie jest już potrzebna, możesz usunąć to podpięcie i wywołanie funkcji zwrotnej po zakończeniu.

Drugi to hak filtra wc_order_statuses() , który zawiera nowy status zamówienia na dostępnej liście. Można go więc użyć podczas dołączania go do zamówienia z pulpitu administracyjnego WooCommerce.

Możesz zobaczyć nowy status zamówienia niestandardowego, edytując dowolne zamówienie z WooCommerce > Zamówienia z pulpitu WordPress. Następnie kliknij opcję statusu, a status zamówienia „Oczekujące połączenie” zostanie wyświetlony w menu rozwijanym.

edytuj niestandardowy status zamówienia w woocommerce stwórz niestandardowy status zamówienia

Edytuj status istniejącego zamówienia w WooCommerce

Możemy również użyć tego samego haka filtra, co w poprzednim przykładowym skrypcie wc_order_statuses() , aby zmienić nazwę istniejącego statusu zamówienia.

Poniższy przykładowy kod edytuje dwie statystyki zamówienia: „przetwarzanie” i „zakończone”, zmieniając je na „w toku” i „dostarczone”:

 function QuadLayers_rename_status( $order_stauses ) {
foreach ( $statusy_zamówień jako $klucz => $status ) {
if ( 'przetwarzanie wc' === $klucz) {
$order_statuses['wc-processing'] = _x( 'W trakcie', 'Status zamówienia', 'woocommerce' );
}
if ( 'wc-completed' === $klucz) {
$order_statuses['wc-completed'] = _x( 'Dostarczono', 'Status zamówienia', 'woocommerce' );
}
}
zwróć $statusy_zamówień;
}
add_filter( 'wc_order_status', 'QuadLayers_rename_status' );

Nie zapomnij zaktualizować pliku po dodaniu do niego kodów.

Otóż ​​to! W ten sposób możesz edytować istniejący lub niestandardowy status zamówienia w swojej witrynie WooCommerce.

edytuj niestandardowy status zamówienia w woocommerce Zmień nazwę statusu zamówienia woocommerce

Usuń status zamówienia w WooCommerce

Ponownie, wc_order_statuses() przyda się do usunięcia określonego statusu zamówienia. W takim przypadku usuwamy status zamówienia „zwrot kosztów”.

Użyj poniższego skryptu, aby usunąć istniejący stan zamówienia. Będzie to działać zarówno w przypadku domyślnych, jak i niestandardowych statusów zamówień.

 function QuadLayers_remove_status( $statusy ) {
if( isset( $statusy['wc-refunded'] ) ){
unset( $statusy['wc-refunded'] );
}
zwróć $statusy;
}
add_filter( 'wc_order_status', 'QuadLayers_remove_status' );

Pamiętaj, że jeśli usuniesz domyślny status zamówienia WooCommerce, może to spowodować przerwanie integracji z niektórymi bramkami płatniczymi.

Wniosek

Oto niektóre z różnych sposobów dodawania i edytowania niestandardowego statusu zamówienia w WooCommerce za pomocą kodów. Można je jeszcze bardziej modyfikować, aby edytować i usuwać nawet domyślne istniejące statusy zamówień WooCommerce. Jednak wystarczy dodać nowe niestandardowe statusy zamówień lub edytować istniejące tylko wtedy, gdy domyślne statusy zamówień nie są wystarczające dla Ciebie i potrzeb Twoich klientów.

Jak widać, bardzo łatwo jest dodać i edytować niestandardowy status zamówienia w swoim sklepie internetowym. Ale musisz mieć podstawową wiedzę na temat korzystania z haków WooCommerce. Podobnie, jeśli chcesz dowiedzieć się więcej o zamówieniach WooCommerce, mamy nawet szczegółowe przewodniki na temat testowania, powtarzania, usuwania, a nawet autouzupełniania zamówień w WooCommerce.

Czy próbowałeś edytować i dodawać statusy zamówień na swojej stronie? Daj nam znać w komentarzach.

W międzyczasie możesz rzucić okiem na kilka naszych postów, które mogą Ci się przydać:

  • Jak stworzyć niestandardową wtyczkę WordPress?
  • Najlepsze wtyczki WooCommerce do powtarzania zamówień
  • Jak dodawać opłaty do kasy WooCommerce