So ändern Sie den Bestellstatus automatisch in WooCommerce

Veröffentlicht: 2021-07-31

Möchten Sie den Bestellstatus in Ihrem Shop aktualisieren? Sie sind an der richtigen Stelle. In dieser Anleitung zeigen wir Ihnen, wie Sie den Bestellstatus in WooCommerce mithilfe einiger PHP-Skripte automatisch ändern können . Machen Sie sich keine Sorgen, wenn Sie keine fortgeschrittenen Programmierkenntnisse haben, wir erklären jedes Skript im Detail.

WooCommerce bietet Entwicklern viele Funktionen. Wenn Sie also über Programmierkenntnisse verfügen, können Sie alle Arten von Anpassungen vornehmen und Ihren E-Commerce-Shop verbessern. Im folgenden Tutorial erfahren Sie alles Wissenswerte zum Bestellstatus. Dies ist eine WooCommerce-Funktion, die bei der Verwaltung einer großen Anzahl von Bestellungen sehr nützlich sein kann. Dies ist besonders nützlich in der Backend-Bestellliste, wo Shop-Manager Bestellungen mit einem bestimmten Status einfach suchen und bestimmte Aktionen ausführen können.

Lassen Sie uns ohne weiteres direkt hineinspringen.

Wie ist der Bestellstatus in WooCommerce?

Der Bestellstatus ist einfach ein Tag, das eine Bestellung hat, das den aktuellen Status der Bestellung darstellt . Es ähnelt einer Taxonomie, die an einen Beitrag angehängt ist und spezifische Informationen über den aktuellen Status dieses Beitrags beschreibt. Wenn ein Kunde beispielsweise auf die Schaltfläche „Bestellung aufgeben“ klickt, gibt er eine Bestellung in unserem Shop auf. Standardmäßig ist der Bestellstatus auf „Ausstehende Zahlung“ gesetzt.

Wenn der Shop in ein Zahlungsgateway wie PayPal oder Stripe integriert ist, wird der vorherige Standardstatus (ausstehend) validiert und ändert sich je nach Validierungsergebnis des Zahlungsgateways in „ Angehalten “ oder „ Fehlgeschlagen “. Wenn die Zahlung abgeschlossen ist, ändert sich der Bestellstatus automatisch auf „ In Bearbeitung “, während bei fehlgeschlagener Zahlung der Status „ Fehlgeschlagen “ lautet.

Wie Sie sehen können, liefert uns jeder dieser Status relevante Informationen über die Bestellung. Diese Automatisierung teilt uns mit, ob die Zahlung für die Bestellung abgeschlossen ist oder unser Produkt nicht an den Kunden geliefert werden soll.

Bestellstatus in WooCommerce

Dies sind alle in WooCommerce verfügbaren Bestellstatus und deren Bedeutung:

  • Ausstehende Zahlung: Die Bestellung ist eingegangen und es wurde keine Zahlung registriert. Wir warten auf die Zahlung
  • Fehlgeschlagen: Die Zahlung ist aus irgendeinem Grund fehlgeschlagen. Dies bedeutet, dass es von der Zahlungsplattform (z. B. PayPal) abgelehnt wurde oder dass eine weitere Authentifizierung erforderlich ist (SCA).
  • Bearbeitung: Die Zahlung ist beim Shop eingegangen, der Lagerbestand des Produkts wurde aktualisiert und der Kauf wird termingerecht geliefert
  • Abgeschlossen: Die Bestellung wurde ausgeführt und abgeschlossen. Dies ist der letzte Zustand einer Bestellung, bei der alles gut gelaufen ist
  • Zurückgestellt : Der Kunde hat keine Zahlung geleistet, daher muss die Bestellung vom Shop-Manager bestätigt werden
  • Storniert : Entweder der Shop-Admin oder der Benutzer hat die Bestellung irgendwann storniert. Dies erfordert keine weiteren Maßnahmen, obwohl empfohlen wird, den Kunden zu kontaktieren, um zu erfahren, warum er die Bestellung storniert hat
  • Zurückerstattet: Die Bestellung wurde zurückerstattet, es sind keine weiteren Maßnahmen erforderlich

Nachdem wir nun besser verstehen, was der Bestellstatus ist und welche Funktion er hat, sehen wir uns an, warum es eine gute Idee sein kann, ihn zu aktualisieren.

Warum die Standard-Bestellstatusfunktion ändern?

Jeder E-Commerce-Shop ist anders und hat spezifische Anforderungen. Einige Online-Shops verwenden den Bestellstatus möglicherweise gar nicht oder nicht alle. Wenn Käufer die Produkte beispielsweise nicht zurückgeben können, verwendet das Geschäft möglicherweise nicht den Rückerstattungsstatus .

Darüber hinaus kann es einige Fälle geben, in denen die standardmäßige Bestellstatusfunktion nicht ausreicht und der Shop einen benutzerdefinierten Status oder eine automatisierte Lösung für die Verwaltung des Bestellstatus benötigt . In diesen Fällen ist das Anpassen des Bestellstatusverhaltens eine großartige Lösung, um das Shop-Management zu verbessern. Auf diese Weise muss der E-Commerce-Shop den Bestellstatus nicht in jedem einzelnen Fall manuell aktualisieren.

Dies hilft Ladenbesitzern, Zeit zu sparen und sich auf wichtigere Dinge zu konzentrieren, um ihr Geschäft zu verbessern.

Wie sich der Bestellstatus in WooCommerce ändert

An dieser Stelle ist es wichtig zu verstehen, dass sich der Bestellstatus dynamisch ändert, wenn WooCommerce in ein Zahlungsgateway wie PayPal, Payoneer, Stripe usw. integriert ist. Denken Sie daran, dass Sie, wenn Sie den Status unerwartet manuell aktualisieren, die in Ihrem Shop angebotene Zahlungsmethode unterbrechen können und Kunden den Kaufvorgang nicht verfolgen können.

Um besser zu verstehen, was wir tun werden, werfen wir einen Blick darauf, wie der Bestellstatusablauf funktioniert:

woocommerce-bestellstatus

Aus der WooCommerce-Dokumentation

Wie Sie in der obigen Grafik sehen können, ist die erste Stufe des Bestellstatus „ Ausstehend “. Unmittelbar danach überprüft das Zahlungs-Gateway, ob der Benutzer die Zahlung abschließen kann, und ändert seinen Status auf „ Zurückgestellt “ und dann auf „In Bearbeitung “, wenn die Zahlung erfolgreich abgeschlossen wurde. Andernfalls wird es zu „ Failed “ (Fehlgeschlagen).

Danach wird WooCommerce nichts weiter tun. Der Shop-Manager sollte die Bestellung als „ Abgeschlossen “ oder „ Storniert “ markieren. An diesem Punkt ist es sicher, den Bestellstatus automatisch (programmgesteuert) zu ändern, auch wenn ein Zahlungsgateway integriert ist.

Außerdem ist es wichtig zu wissen, dass bei einer Änderung des Status auf „In Bearbeitung “ oder „ Erstattet “ der Bestand der an der Bestellung beteiligten Produkte neu berechnet wird. Dasselbe gilt für alle Statistiken des Online-Shops, die sich auf diese Bestellung beziehen.

Nachdem wir nun eine klare Vorstellung davon haben, wie sich der Bestellstatus ändert, sehen wir uns an, wie der Bestellstatus in WooCommerce aktualisiert wird .

So ändern Sie den Bestellstatus automatisch in WooCommerce

Schauen wir uns einige Beispielskripte an, um den Bestellstatus programmgesteuert in WooCommerce zu ändern .

HINWEIS : Wir werden einige Kerndateien bearbeiten, stellen Sie also sicher, dass Sie eine vollständige Sicherung Ihrer Website erstellen, bevor Sie beginnen. Erstellen Sie außerdem ein untergeordnetes Design oder verwenden Sie eines dieser Plugins, wenn Sie noch keines haben, damit Sie Ihre Anpassungen auch nach der Aktualisierung Ihres Designs beibehalten.

Ändern Sie den gesamten Bestellstatus nach dem Kauf

Wenn Ihr E-Commerce-Shop nicht in ein Zahlungs-Gateway integriert ist, das den Bestellstatus verwendet, können Sie alle Bestellungen direkt nach der Bestellung des Kunden zurückstellen, anstatt sie auf „In Bearbeitung“ zu belassen. Schauen wir uns dieses Skript an:

 Funktion QuadLayers_change_order_status( $order_id ) {  
                if ( ! $order_id ) {return;}            
                $order = wc_get_order( $order_id );
                if( 'processing'== $order->get_status() ) {
                    $order->update_status( 'wc-on-hold' );
                }
}
add_action('woocommerce_thankyou','QuadLayers_change_order_status');

Wir verwenden den Hook woocommerce_thankyou , um unsere Funktion direkt nach der Bestellung auszulösen, und ändern den Status mit update_status() .

Wie Sie sehen können, hat der Status-Slug ein Präfix (WC). Obwohl die Funktion auch ohne das Präfix funktioniert, wird empfohlen, sie zu verwenden.

woocommerce-bestellstatus-on-hold

Es ist erwähnenswert, dass Sie jeden anderen Status und sogar benutzerdefinierte anstelle von „Angehalten“ verwenden können, indem Sie den Code anpassen.

Ändern Sie den Bestellstatus von der Bestell-ID

Das folgende Skript ändert den Status einer einzelnen Bestellung. Um beispielsweise den Bestellstatus von Bestellung 115 zu ändern, verwenden wir das folgende Snippet:

 add_action('init',function(){
	$order = neue WC_Order(115);
        $order->update_status('wc-processing'); 
});

Dies ist ein kurzes Skript, daher haben wir eine anonyme Funktion im 'init' -WordPress-Hook verwendet.

Beachten Sie, dass Sie dadurch keine weiteren Änderungen am Status vornehmen können, während das Skript aktiviert ist.

Aktualisieren Sie den WooCommerce-Bestellstatus für wiederkehrende Kunden

Dies ist ein weiteres interessantes Beispiel, um den Bestellstatus in WooCommerce automatisch zu ändern. Das folgende Skript ändert den Bestellstatus nur dann auf „Abgeschlossen“, wenn der Benutzer eine frühere Bestellung mit dem Status „Abgeschlossen“ oder „In Bearbeitung“ angehängt hat.

 Funktion QuadLayers_order_status_returning( $order_id ) {
        // Holen Sie sich diese Kundenbestellungen
         $user_id = wp_get_current_user();
        $kundenbestellungen = [];
        foreach ( wc_get_is_paid_statuses() as $paid_status ) {
            $customer_orders += wc_get_orders( [
                'type' => 'shop_order',
                'Grenze' => - 1,
                'customer_id' => $user_id->ID,
                'status' => $paid_status,
            ] );
        }
            # vorherige Bestellung vorhanden
            if(count($customer_orders)>0){ 
                     if ( ! $order_id ) {return;}            
                     $order = wc_get_order( $order_id );
                     if( 'processing'== $order->get_status() ) {
                         $order->update_status( 'wc-completed' );
                     }
            }
}
add_action( 'woocommerce_thankyou', 'QuadLayers_order_status_returning' );

Dies kann eine gute Idee sein, um eine Sicherheitsebene hinzuzufügen und das Einkaufserlebnis wiederkehrender Kunden zu verbessern.

Ändern Sie den Bestellstatus für einen URL-Parameter

Dieses Beispielskript ändert sich in einen bestimmten Bestellstatus, wenn der URL-Parameter im Browser vorhanden ist. Da wir den init -WordPress-Hook verwenden, funktioniert das Skript auf jeder Seite des Stores.

Außerdem wird der Bestellstatus für die letzte Bestellung des aktuell angemeldeten Benutzers bearbeitet. In diesem Beispiel ändert sich der Bestellstatus zu „Storniert“, wenn eine beliebige URL den „revert“-Parameter wie diesen hat: https://website.com/shop?st=revert

 add_action('init',function(){
    if(isset($_GET['st'])&&!empty($_GET['st']) ):
        $get_url = $_GET['st'];
 
        if($get_url=='revert'):
            $user_id = wp_get_current_user();
            $order = wc_get_customer_last_order($user_id->ID);  
            $order->update_status( 'wc-cancelled' );
        endif;
    endif;
});

Erstellen Sie einen benutzerdefinierten Bestellstatus

Anstatt den Status einer Bestellung zu ändern, erstellen wir in diesem Beispiel einen neuen benutzerdefinierten Bestellstatus, den wir frei verwenden können. Dies ist eine gute Idee, wenn die vorhandenen Status nicht ausreichen oder Sie für mehr Übersichtlichkeit lieber einen neuen erstellen möchten. Sobald Sie einen benutzerdefinierten Bestellstatus erstellt haben, können Sie ihn mit jedem der oben genannten Skripts verwenden.

Das folgende Skript registriert und fügt der Bestellstatusliste einen neuen Status hinzu. In diesem Fall nennen wir den Status der neuen benutzerdefinierten Bestellung „In Bearbeitung “, aber Sie können einen beliebigen Namen verwenden, indem Sie einfach den Code anpassen.

 // Neuen Status registrieren
Funktion register_in_progress_order_status() {
    register_post_status( 'wc-in-progress', array(
        'label' => 'In Bearbeitung',
        'öffentlich' => wahr,
        'show_in_admin_status_list' => wahr,
        'show_in_admin_all_list' => wahr,
        'exclude_from_search' => falsch,
        'label_count' => _n_noop( 'In Bearbeitung (%s) ', 'In Bearbeitung (%s) ' )
    ) );
}
// Benutzerdefinierten Status zur Bestellstatusliste hinzufügen
function add_in_progress_to_order_statuses( $order_statuses ) {
    $new_order_statuses = array();
    foreach ( $order_statuses as $key => $status ) {
        $new_order_statuses[ $key ] = $status;
        if ( 'wc-processing' === $key ) {
            $new_order_statuses['wc-in-progress'] = 'In Bearbeitung';
        }
    }
    $new_order_statuses zurückgeben;
}
add_action( 'init', 'register_in_progress_order_status' );
add_filter( 'wc_order_statuses', 'add_in_progress_to_order_statuses' );



woocommerce-benutzerdefinierter-bestellstatus

Andere Möglichkeiten, den WooCommerce-Bestellstatus zu ändern

Wenn Sie nach alternativen Möglichkeiten suchen, den Standard-Bestellstatus in WooCommerce zu aktualisieren, können Sie sich einige Plugins ansehen. Leider gibt es dafür nicht viele kostenlose Tools, aber dies sind einige der besten:

  • YITH Custom Order Status : Ein hervorragendes Tool, um Bestellstatus zu verwalten und benutzerdefinierte zu erstellen. Es ist eines der besten Tools auf dem Markt, aber es ist nicht billig. Es kostet Sie 79,99 € pro Jahr.
  • WooCommerce Order Status Manager : Ein weiteres großartiges Plugin zum Hinzufügen, Entfernen und Bearbeiten des Bestellstatus. Sie können auch E-Mails basierend auf dem Status der Bestellungen auslösen. Es kostet 49 USD pro Jahr.
  • Benutzerdefinierter Bestellstatus für WooCommerce : Eines der besten Tools zur Verwaltung des Bestellstatus in WooCommerce. Es ist ein Premium-Plugin, das bei 39 USD pro Jahr beginnt.
  • Ni WooCommerce Custom Order Status : Eines der wenigen zuverlässigen kostenlosen Plugins, mit denen Sie Ihren Bestellstatus einfach verwalten können.

So sehen Sie den Bestellstatus in Ihrem WooCommerce-Shop

Der einfachste Weg, den Bestellstatus in Ihrem Shop anzuzeigen, besteht darin, Ihr WooCommerce-Dashboard zu öffnen und zu Bestellungen zu gehen. Öffnen Sie dann eine beliebige Bestellung und drücken Sie im Abschnitt „ Allgemein “ auf die Dropdown-Liste „Status“. Dort sehen Sie alle Bestellungen in Ihrem Shop.

Fazit

Zusammenfassend ist der Bestellstatus ein Tag, das den aktuellen Status einer Bestellung darstellt. Obwohl WooCommerce bestimmte Standardstatus enthält, kann das Anpassen dieser Status eine gute Idee für diejenigen sein, die neue Status entfernen oder hinzufügen möchten. Es kann auch eine interessante Lösung für Unternehmen sein, die eine automatisierte Lösung für die Verwaltung ihres Auftragsstatus benötigen.

In diesem Leitfaden haben wir alle Standard-Bestellstatus und verschiedene Beispiele zur automatischen Änderung des Bestellstatus in WooCommerce gesehen. Dies sind nur einige Ideen, aber Sie können noch viel mehr tun. Wir empfehlen Ihnen, diese Skripte als Basis zu nehmen und herumzuspielen, um sie für Ihr Geschäft anzupassen.

Weitere Informationen zum Anpassen Ihres Shops finden Sie in diesen Tutorials:

  • So wenden Sie WooCommerce-Gutscheine automatisch an
  • Bearbeiten Sie die WooCommerce-Dankeschön-Seite programmgesteuert
  • So passen Sie das WooCommerce-Registrierungsformular an
  • 3 Methoden zum Testen von WooCommerce-Bestellungen
  • So fügen Sie WooCommerce AJAX-Produktfilter hinzu

Haben Sie den Bestellstatus in Ihrem Geschäft aktualisiert? Hatten Sie Probleme mit dieser Anleitung? Lass es uns in den Kommentaren unten wissen!