So genehmigen Sie Bestellungen in WooCommerce automatisch
Veröffentlicht: 2020-09-25Wenn Sie einen E-Commerce-Shop betreiben, wissen Sie, dass die Website die Nachverfolgung und Verwaltung von Bestellungen erfordert. Dies kann jedoch eine anstrengende Aufgabe für den Administrator sein, insbesondere wenn Ihr Online-Shop stark frequentiert ist, was zu einer großen Anzahl von Bestellungen an einem Tag führt.
Außerdem wissen Sie, dass eine Bestellung erstellt wird, sobald der Bestellvorgang abgeschlossen ist. Einer Bestellung wird ein Status zugewiesen, je nachdem, wo sich die Bestellung in der Kette von der Zahlung bis zur Lieferung befindet.
Darüber hinaus werden Status von WooCommerce, dem Payment Gateway und dem Shop-Administrator festgelegt oder geändert, je nachdem, wo die Bestellung initiiert wird.
Nachdem die Zahlung für eine Bestellung abgeschlossen ist, wenn der Benutzer die Option Nachnahme nicht ausgewählt hat. Wenn eine Bestellung abgeschlossen ist, wird ihr Status auf „In Bearbeitung“ gesetzt, bis der Ladenbesitzer ihn manuell auf „Abgeschlossen“ ändert. Dies wird eine entmutigende Aufgabe für den Ladenbesitzer oder den Administrator sein.
Bestellungen automatisch genehmigen WooCommerce
In diesem kurzen Tutorial werde ich Ihnen einen benutzerdefinierten PHP-Code mitteilen, der Ihnen hilft, den Status der Bestellung automatisch auf „Abgeschlossen“ zu setzen, wenn eine Zahlung erfolgreich durchgeführt wurde. Das bedeutet, dass selbst wenn der Benutzer die Option „Nachnahme“ auswählt, der Bestellstatus automatisch auf „Abgeschlossen“ geändert wird.
Darüber hinaus werde ich Ihnen auch eine Lösung vorstellen, die den WooCommerce-Bestellstatus für virtuelle Produkte automatisch auf „Abgeschlossen“ setzt. Diese Produkte sind nicht greifbar oder herunterladbar.
Dies liegt daran, dass der Mitgliedsbeitrag möglicherweise keine konkrete Form, sondern ein Ablaufdatum hat. Wenn Sie mit herunterladbaren Produkten handeln, sollte die Option Nachnahme nicht enthalten sein, sondern nur eine Bedingung hinzugefügt werden, um zu prüfen, ob alle Produkte in der Bestellung virtuell sind.
Nachdem Sie nun wissen, wie der Bestellstatus festgelegt wird, finden Sie hier eine detaillierte Anleitung, wie Sie:
- Setzen Sie den WooCommerce-Bestellstatus basierend auf der Zahlungsmethode automatisch auf Abgeschlossen.
- Setzen Sie den WooCommerce-Bestellstatus für virtuelle Produkte automatisch auf Abgeschlossen.
a) Schritte zum automatischen Festlegen des WooCommerce-Bestellstatus als abgeschlossen basierend auf der Zahlungsmethode
Hier sind die einfachen Schritte, die Sie befolgen müssen:
- Melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu.
- 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, in der wir die Funktion hinzufügen, die den Woocommerce-Bestellstatus basierend auf der Zahlungsmethode automatisch auf „Abgeschlossen“ setzt.
- Fügen Sie der PHP -Datei den folgenden Code hinzu:
/** Snippet, um den Woocommerce-Bestellstatus basierend auf der Zahlungsmethode automatisch auf abgeschlossen zu setzen */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_by_payment_method'); Funktion njengah_auto_complete_by_payment_method($order_id) { if ( ! $order_id ) { Rückkehr; } globales $Produkt; $order = wc_get_order( $order_id ); if ($order->data['status'] == 'in Bearbeitung') { $payment_method=$order->get_payment_method(); if ($payment_method!="bacs") { $order->update_status( 'abgeschlossen' ); } } }
- Um das Ergebnis zu sehen, gehen Sie zum WordPress Dashboard und klicken Sie auf WooCommerce > Bestellungen . Sie werden sehen, dass die Bestellung wie unten gezeigt auf Abgeschlossen gesetzt wurde:
Wie der Kodex funktioniert
Im obigen Code habe ich den Hook woocommerce_order_status_changed verwendet, um eine Funktion aufzurufen, wenn sich der Status einer Bestellung ändert. Es prüft, ob der Auftrag den Status In Bearbeitung hat und ändert ihn auf Abgeschlossen.
Standardmäßig verfügt WooCommerce über vier Standardzahlungsmethoden, nämlich Direktüberweisung (bacs), Scheckzahlung (Scheck), Nachnahme (Cod) und PayPal (PayPal). Sie müssen jedoch die Zahlungsmethode angeben, für die Sie die Bedingung festlegen.
b) Schritte zum automatischen Setzen des WooCommerce-Bestellstatus auf „Abgeschlossen“ für virtuelle Produkte
Hier sind die Schritte, die Sie befolgen müssen:
- Melden Sie sich bei Ihrer WordPress-Site an und greifen Sie als Admin-Benutzer auf das Dashboard zu.
- Klicken Sie im Dashboard-Menü auf Darstellungsmenü > Themen-Editor-Menü . Suchen Sie nach dem Öffnen der Theme-Editor -Seite nach der Theme-Funktionsdatei, in der wir die Funktion hinzufügen, die den WooCommerce-Bestellstatus für virtuelle Produkte automatisch auf „Abgeschlossen“ setzt.
- Fügen Sie der PHP -Datei den folgenden Code hinzu:
/** Snippet, um den WooCommerce-Bestellstatus für virtuelle Produkte automatisch auf abgeschlossen zu setzen */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_virtual'); Funktion njengah_auto_complete_virtual($order_id) { if ( ! $order_id ) { Rückkehr; } globales $Produkt; $order = wc_get_order( $order_id ); if ($order->data['status'] == 'in Bearbeitung') { $virtuelle_bestellung = null; if (count($order->get_items()) > 0) { foreach( $order->get_items() as $item ) { if ( 'line_item' == $item['type'] ) { $_product = $order->get_product_from_item( $artikel); if ( ! $_product->is_virtual() ) { // Wenn wir ein nicht virtuelles Produkt finden, brechen Sie aus der Schleife aus $virtuelle_bestellung = falsch; brechen; } anders { $virtuelle_bestellung = wahr; } } } } // Wenn alle virtuelle Produkte sind, als abgeschlossen markieren if ($virtuelle_bestellung) { $order->update_status( 'abgeschlossen' ); } } }
- Das Ergebnis ist das gleiche wie im ersten Beispiel, da die Bestellung automatisch auf Abgeschlossen gesetzt wird.
Wie der Kodex funktioniert
Im obigen Code habe ich denselben Hook verwendet, um die Funktion njengah_auto_complete_virtual aufzurufen. Nachdem überprüft wurde, ob sich das in einem Verarbeitungsstatus befindet, durchläuft der Code jeden Artikel in der Bestellung, um festzustellen, ob es ein virtuelles Produkt gibt.
Das line_item bezieht sich auf das Produkt, und nur die Produkte müssen einzeln abgerufen werden, um zu prüfen, ob sie virtuell sind. Wenn kein virtuelles Produkt vorhanden ist, wird der Status der Bestellung nicht als Abgeschlossen markiert.
Fazit
In diesem kurzen Tutorial habe ich gezeigt, wie Sie den WooCommerce-Bestellstatus automatisch auf „Abgeschlossen“ setzen können. Ich habe es basierend auf der Zahlungsmethode und für virtuelle Produkte getan.
Abhängig von den Anforderungen, die Sie für Ihr Geschäft benötigen, können Sie jedoch mit dem ersten Code-Snippet weitere Bedingungen hinzufügen, um den Bestellstatus als abgeschlossen zu markieren. Wenn beispielsweise eine Zahlung erfolgt ist, können Sie den Bestellstatus auch für nicht virtuelle Produkte als abgeschlossen markieren, indem Sie ein Häkchen für die Zahlungsmethode hinzufügen, nachdem geprüft wurde, ob es sich um ein virtuelles Produkt handelt.
Durch dieses Code-Snippet wird der Status der Bestellung jedoch nur dann auf Abgeschlossen gesetzt, wenn alle Produkte in der Bestellung virtuelle Produkte sind. Ich hoffe, dass dieser Beitrag eine Lösung bietet, um Bestellungen in WooCommerce automatisch zu genehmigen.
Ähnliche Artikel
- So entfernen Sie das Downloads-Menü Meine Kontoseite WooCommerce
- So fügen Sie ein zusätzliches Feld im WooCommerce-Checkout-Formular hinzu
- So deaktivieren Sie die Option „An eine andere Adresse versenden“.
- So erhalten Sie Zahlungsmethoden in WooCommerce » Codebeispiel
- So verbergen Sie die Schaltfläche „In den Warenkorb“ in WooCommerce
- So fügen Sie eine benutzerdefinierte Versandmethode in WooCommerce hinzu
- Blende das Mengenfeld von der WooCommerce-Produktseite aus oder entferne es
- So verwenden Sie WooCommerce-Produktattribute Schritt für Schritt [Vollständige Anleitung]
- So zeigen Sie WooCommerce-Produkte nach Kategorie an
- So blenden Sie das WooCommerce-Gutscheincodefeld aus
- So platzieren Sie den WooCommerce-Warenkorb und die Kasse auf einer Seite
- So benennen Sie Bestellstatusmeldungen in WooCommerce um
- So fügen Sie eine Produktbild-WooCommerce-Checkout-Seite hinzu
- So machen Sie WooCommerce-Bestellkommentare erforderlich
- So fügen Sie Kategorien zu WooCommerce-Produkten hinzu
- So verstecken Sie alle Produkte auf der Shop-Seite in WooCommerce
- So deaktivieren Sie die Zahlungsmethode für eine bestimmte Kategorie