Jak ukryć status zamówienia w WooCommerce?

Opublikowany: 2020-11-12

WooCommerce Ukryj status zamówienia Czy chcesz ukryć podstawowe statusy zamówień w swoim sklepie WooCommerce? Ostatnio klient chciał, abym ukrył niektóre statusy zamówień w jego sklepie WooCommerce. W tym poście dowiesz się, jak łatwo usunąć niektóre statusy zamówień i jak tworzyć niestandardowe.

WooCommerce Ukryj status zamówienia

Z różnych powodów możesz chcieć ukryć niektóre podstawowe stany zamówień. Jednak domyślna wersja WooCommerce umożliwia oznaczanie zamówień jednym z następujących statusów: ukończone, przetworzone, oczekujące na płatność, wstrzymane, zwrócone, anulowane lub nieudane.

Wiele wtyczek umożliwia zarządzanie statusami zamówień, a jedną z nich jest wtyczka „ WooCommerce Order Status Manager ”, której cena wynosi 49 USD. Menedżer statusu zamówień WooCommerce

Może to być drogie rozwiązanie dla Twojego sklepu, ale jest na to prosty sposób. W obecnej wersji WooCommerce statusy zamówień są zapisywane jako niestandardowe statusy postów, podobnie jak wersja robocza, zaplanowane lub opublikowane dla postów.

Jak ukryć status zamówienia

Powiedziawszy to, przyjrzyjmy się, jak możesz ukryć status zamówienia w WooCommerce za pomocą fragmentu kodu. Aby sprawdzić domyślne komunikaty o stanie zamówienia, zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator. Następnie kliknij WooCommerce > Zamówienia . Zobaczysz to: status zamówienia powrót koniec

Te komunikaty są również wyświetlane w interfejsie użytkownika, gdy klient próbuje złożyć zamówienie. Dostęp do tego można uzyskać, klikając Moje konto > Zamówienia, jak pokazano poniżej: front-end statusu zamówienia

Kroki, aby ukryć statusy podstawowych zamówień

Warto wspomnieć, że ukrywając podstawowe statusy zamówień, upewnij się, że nie ma produktów o takim statusie. Ponadto powinieneś upewnić się, że Twój sklep WooCommerce nigdzie nie używa tego statusu, ponieważ może to prowadzić do błędów. Na przykład, jeśli nie planujesz dokonywać zwrotów w swoim sklepie WooCommerce, możesz ukryć status zwrotu.

Powodem, dla którego nie możemy usunąć wszystkich podstawowych statusów zamówień, jest to, że wtyczki używają statusów zamówień, nawet tych, których nie używasz w swoim przepływie pracy. Wtyczki, takie jak bramki płatności, zawsze zakładają, że obecne są podstawowe statusy zamówień. Jeśli ich tam nie ma, pękną

Oto kroki, które musisz wykonać:

  1. Zaloguj się do swojej witryny WordPress i uzyskaj dostęp do pulpitu nawigacyjnego jako administrator.
  2. Z menu Dashboard kliknij menu Wygląd > Menu edytora motywów . Po otwarciu strony Edytor motywów poszukaj pliku funkcji motywu, aby dodać funkcję ukrywania podstawowych stanów zamówień w sklepie WooCommerce.
  3. Dodaj następujący kod do pliku functions.php:
 /*

 * Usuwanie podstawowych statusów zamówień

 * @param array $wc_statuses_arr Tablica wszystkich statusów zamówień na stronie

 */

funkcja njengah_remove_order_statuses( $wc_statuses_arr ){

            // Przetwarzanie

            if( isset( $wc_statuses_arr['wc-processing'] ) ) { // jeśli istnieje

                        unset( $wc_statuses_arr['wc-processing'] ); // usuń to z tablicy

            }

            // Zwrócone

            if( isset( $wc_statuses_arr['wc-refunded'] ) ){

                        unset( $wc_statuses_arr['wc-refunded'] );

            }

            // W oczekiwaniu

            if( isset( $wc_statuses_arr['wc-on-hold'] ) ){

                        unset( $wc_statuses_arr['wc-on-hold'] );

            }

            // Przegrany

            if( isset( $wc_statuses_arr['wc-failed'] ) ){

                        unset( $wc_statuses_arr['wc-failed'] );

            }

            // Oczekująca płatność

            if( isset( $wc_statuses_arr['wc-pending'] ) ){

                        unset( $wc_statuses_arr['wc-pending'] );

            }

            // Ukończono

            //if( isset( $wc_statuses_arr['wc-completed'] ) ){

            // usuń ustawienie( $wc_statuses_arr['wc-completed'] );

            //}

            // Odwołany

            //if( isset( $wc_statuses_arr['wc-anulowane'] ) ){

            // usuń ustawienie( $wc_statuses_arr['wc-cancelled'] );

            //}

            zwróć $wc_statuses_arr; // zwróć statusy wyników

}

add_filter( 'wc_order_statuses', 'njengah_remove_order_statuses' );
  1. Oto wynik na froncie: ukryj statusy zamówień
  2. Aby dodać niestandardowy status zamówienia, dodaj następujący kod w pliku functions.php:
 /**

* Zarejestruj nowy status z identyfikatorem „wc-njengah-shipment” i etykietą „Oczekuje na wysyłkę”

*/

funkcja njengah_register_awaiting_shipment_status() {
register_post_status( 'wc-njengah-przesyłka', tablica(

'label' => 'Oczekuje na wysyłkę',

'publiczny' => prawda,

'show_in_admin_status_list' => true, // pokaż liczbę Wszystkie (12) , Zakończone (9) , Oczekiwanie na wysyłkę (2) ...

'label_count' => _n_noop( 'Oczekiwanie na przesyłkę <span class="count">(%s)</span>', 'Oczekiwanie na przesyłkę <span class="count">(%s)</span>' )

) );
}

add_action( 'init', 'njengah_register_awaiting_shipment_status' );

/*

* Dodaj zarejestrowany status do listy statusów WC Order

* @param array $wc_statuses_arr Tablica wszystkich statusów zamówień na stronie

*/

funkcja njengah_add_status( $wc_statuses_arr ) {
$new_statuses_arr = array();

// dodaj status nowego zamówienia po przetworzeniu

foreach ( $wc_statuses_arr as $id => $label ) {

$new_statuses_arr[ $id ] = $label;

if ( 'wc-completed' === $id ) { // po statusie "Zakończono"

$new_statuses_arr['wc-njengah-shipment'] = 'Oczekuje na wysyłkę';

}

}
zwróć $nowy_status_arr;

// jeśli status zamówienia nie ma dla Ciebie znaczenia, możesz usunąć wiersze 21-32 i odkomentować następujące 35-36

// $wc_statuses_arr['wc-njengah-shipment'] = 'Oczekuje na wysyłkę';

// zwróć $wc_statuses_arr;
}

add_filter( 'wc_order_status', 'njengah_add_status' );
  1. Oto wynik: dodaj niestandardowy status zamówienia

Wniosek

W tym poście widziałeś, jak możesz ukryć statusy podstawowych zamówień. Należy jednak pamiętać, że status zamówienia, który chcesz usunąć, nie jest używany nigdzie w Twoim sklepie, ponieważ może to prowadzić do błędów. Ponadto podzieliłem się, jak dodać niestandardowy status zamówienia. Jeśli nie znasz obsługi kodu, skontaktuj się z wykwalifikowanym programistą WordPress.

Podobne artykuły