So verbergen Sie den Bestellstatus in WooCommerce

Veröffentlicht: 2020-11-12

WooCommerce Bestellstatus ausblenden Möchten Sie die wichtigsten Bestellstatus in Ihrem WooCommerce-Shop ausblenden? Kürzlich wollte ein Kunde, dass ich einige Bestellstatus in seinem WooCommerce-Shop verstecke. In diesem Beitrag erfahren Sie, wie Sie einige Bestellstatus ganz einfach entfernen und benutzerdefinierte Status erstellen können.

WooCommerce Bestellstatus ausblenden

Aus verschiedenen Gründen möchten Sie möglicherweise einige der wichtigsten Auftragsstatus ausblenden. Die Standardversion von WooCommerce ermöglicht es Ihnen jedoch, Bestellungen mit einem der folgenden Status als abgeschlossen, in Bearbeitung, ausstehende Zahlung, zurückgestellt, erstattet, storniert oder fehlgeschlagen zu markieren.

Mit vielen Plugins können Sie den Bestellstatus verwalten, und eines davon ist das Plugin „ WooCommerce Order Status Manager “, das 49 US-Dollar kostet. WooCommerce-Bestellstatus-Manager

Dies kann eine teure Lösung für Ihr Geschäft sein, aber es gibt eine einfache Möglichkeit, dies zu tun. In der aktuellen Version von WooCommerce werden Bestellstatus als benutzerdefinierter Poststatus gespeichert, genau wie der Entwurf, geplante oder veröffentlichte Posts.

So verbergen Sie den Bestellstatus

Lassen Sie uns vor diesem Hintergrund einen Blick darauf werfen, wie Sie den Bestellstatus in WooCommerce mithilfe eines Code-Snippets verbergen können. Um die standardmäßigen Bestellstatusmeldungen zu überprüfen, melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu. Klicken Sie dann auf WooCommerce > Bestellungen . Sie werden dies sehen: Auftragsstatus Backend

Diese Nachrichten werden auch im Frontend angezeigt, wenn ein Kunde versucht, eine Bestellung aufzugeben. Sie können darauf zugreifen, indem Sie auf Mein Konto > Bestellungen klicken, wie unten gezeigt: Bestellstatus-Frontend

Schritte zum Ausblenden des Kernbestellstatus

Es ist erwähnenswert, dass Sie beim Ausblenden von Kernbestellstatus sicherstellen, dass es keine Produkte mit diesem Status gibt. Außerdem solltest du darauf achten, dass dein WooCommerce-Shop diesen Status nirgendwo verwendet, da es sonst zu Fehlern kommen kann. Wenn Sie beispielsweise keine Rückerstattungen in Ihrem WooCommerce-Shop planen, können Sie den Rückerstattungsstatus ausblenden.

Der Grund, warum wir nicht alle zentralen Bestellstatus entfernen können, ist, dass Plugins Bestellstatus verwenden, auch diejenigen, die Sie nicht in Ihrem Workflow verwenden. Plugins wie Zahlungsgateways gehen immer davon aus, dass die Kernbestellstatus vorhanden sind. Wenn sie nicht da sind, gehen sie kaputt

Hier sind die Schritte, die Sie befolgen müssen:

  1. Melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu.
  2. Klicken Sie im Dashboard-Menü auf Darstellungsmenü > Themen-Editor-Menü . Wenn die Seite „Design-Editor“ geöffnet wird, suchen Sie nach der Datei mit den Designfunktionen, um die Funktion zum Ausblenden von Kernbestellstatus in Ihrem WooCommerce-Shop hinzuzufügen.
  3. Fügen Sie der Datei functions.php den folgenden Code hinzu:
 /*

 * Kernauftragsstatus entfernen

 * @param array $wc_statuses_arr Array aller Bestellstatus auf der Website

 */

Funktion njengah_remove_order_statuses( $wc_statuses_arr ){

            // Wird bearbeitet

            if( isset( $wc_statuses_arr['wc-processing'] ) ) { // falls vorhanden

                        unset( $wc_statuses_arr['wc-processing'] ); // aus dem Array entfernen

            }

            // Zurückerstattet

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

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

            }

            // In Wartestellung

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

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

            }

            // Fehlgeschlagen

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

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

            }

            // Ausstehende Zahlung

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

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

            }

            // Vollendet

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

            // unset( $wc_statuses_arr['wc-completed'] );

            //}

            // Abgesagt

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

            // unset( $wc_statuses_arr['wc-cancelled'] );

            //}

            gebe $wc_statuses_arr zurück; // Ergebnisstatus zurückgeben

}

add_filter( 'wc_order_statuses', 'njengah_remove_order_statuses' );
  1. Dies ist das Ergebnis am Frontend: Auftragsstatus ausblenden
  2. Um einen benutzerdefinierten Bestellstatus hinzuzufügen, fügen Sie den folgenden Code in die Datei functions.php ein:
 /**

* Registrieren Sie den neuen Status mit der ID "wc-njengah-shipment" und dem Label "Warten auf Versand".

*/

Funktion njengah_register_awaiting_shipment_status() {
register_post_status( 'wc-njengah-shipment', array(

'label' => 'Warten auf Versand',

'öffentlich' => wahr,

'show_in_admin_status_list' => true, // Anzahl anzeigen Alle (12) , Abgeschlossen (9) , Versand ausstehend (2) ...

'label_count' => _n_noop( 'Warten auf Lieferung <span class="count">(%s)</span>', 'Warten auf Lieferung <span class="count">(%s)</span>' )

) );
}

add_action( 'init', 'njengah_register_awaiting_shipment_status' );

/*

* Fügen Sie den registrierten Status zur Liste der Status von WC-Bestellungen hinzu

* @param array $wc_statuses_arr Array aller Bestellstatus auf der Website

*/

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

// Neuen Bestellstatus nach Verarbeitung hinzufügen

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

$new_statuses_arr[ $id ] = $label;

if ( 'wc-completed' === $id ) { // nach Status "Abgeschlossen".

$new_statuses_arr['wc-njengah-shipment'] = 'Warten auf Versand';

}

}
gebe $new_statuses_arr zurück;

// Wenn der Bestellstatus für Sie keine Rolle spielt, können Sie die Zeilen 21-32 entfernen und die folgenden Zeilen 35-36 auskommentieren

// $wc_statuses_arr['wc-njengah-shipment'] = 'Warten auf Versand';

// $wc_statuses_arr zurückgeben;
}

add_filter( 'wc_order_statuses', 'njengah_add_status' );
  1. Das ist das Ergebnis: benutzerdefinierten Bestellstatus hinzufügen

Fazit

In diesem Beitrag haben Sie gesehen, wie Sie Kernbestellstatus ausblenden können. Beachten Sie jedoch, dass der Bestellstatus, den Sie löschen möchten, nirgendwo in Ihrem Shop verwendet wird, da dies zu Fehlern führen kann. Außerdem habe ich mitgeteilt, wie man einen benutzerdefinierten Bestellstatus hinzufügt. Wenn Sie im Umgang mit Code nicht vertraut sind, wenden Sie sich bitte an einen qualifizierten WordPress-Entwickler.

Ähnliche Artikel