Ihr engagierter Partner für alles rund um WordPress

So ändern Sie den WooCommerce-Bestellstatus programmgesteuert

Inhaltsverzeichnis

WooCommerce ist eine beliebte E-Commerce-Plattform, die Millionen von Online-Shops weltweit betreibt. Eine der Kernfunktionen von WooCommerce ist die Möglichkeit, Bestellungen zu verwalten. Standardmäßig verfügt WooCommerce über mehrere Bestellstatus wie „Ausstehend“, „In Bearbeitung“, „Abgeschlossen“ und „Storniert“. Es kann jedoch vorkommen, dass Sie benutzerdefinierte Bestellstatus erstellen oder den Bestellstatus programmgesteuert ändern müssen. In diesem Blogbeitrag zeigen wir Ihnen, wie Sie den WooCommerce-Bestellstatus programmatisch ändern und geben Ihnen einige Beispiele für die praktische Anwendung.

Bevor wir beginnen, ist es wichtig zu verstehen, wie Bestellstatus in WooCommerce funktionieren. Wenn ein Kunde eine Bestellung aufgibt, wird dieser standardmäßig der Status „Ausstehend“ zugewiesen. Sie können diesen Status manuell auf „In Bearbeitung“ ändern, wenn Sie mit der Ausführung der Bestellung beginnen. Sobald die Bestellung abgeschlossen ist, können Sie den Status auf „abgeschlossen“ ändern. Wenn eine Bestellung storniert wird, ändert sich der Status in „storniert“.

Nehmen wir nun an, Sie müssen einen benutzerdefinierten Bestellstatus namens „In der Warteschleife“ erstellen. Sie können dies tun, indem Sie den folgenden Code zu Ihrer Datei „functions.php“ hinzufügen:

„`php
Funktion register_custom_order_status() {
register_post_status( 'wc-on-hold', array(
'label' => 'In der Warteschleife',
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'In der Warteschleife (%s) ', 'In der Warteschleife (%s) ' )
));
}
add_action( 'init', 'register_custom_order_status' );
“`

Anschließend können Sie den Bestellstatus mit dem folgenden Code programmgesteuert auf „Angehalten“ ändern:

„`php
$order = wc_get_order( $order_id );
$order->update_status( 'on-hold', __( 'Bestellung in der Warteschleife', 'woocommerce' ) );
“`

Dieser Code ruft das Bestellobjekt mithilfe der Variablen $order_id ab und aktualisiert seinen Status auf „Angehalten“.

Sehen wir uns nun eine praktische Anwendung dieses Codes an. Nehmen wir an, Sie betreiben einen Online-Shop, der einen Abonnementdienst anbietet. Sie möchten einen benutzerdefinierten Bestellstatus namens „abgelaufen“ erstellen, der Bestellungen zugewiesen wird, wenn deren Abonnementzeitraum endet. Sie können den folgenden Code verwenden, um dies zu erreichen:

„`php
Funktion change_order_status_on_subscription_expiry( $subscription ) {
$order_id = $subscription->get_parent_id();
$order = wc_get_order( $order_id );
$order->update_status( 'expired', __( 'Abonnement abgelaufen', 'woocommerce' ) );
}
add_action( 'woocommerce_subscription_end_of_prepaid_term', 'change_order_status_on_subscription_expiry' );
“`

Dieser Code wartet auf das Ereignis „woocommerce_subscription_end_of_prepaid_term“, das ausgelöst wird, wenn ein Abonnementzeitraum endet. Anschließend wird die übergeordnete Bestell-ID abgerufen und der Status auf „abgelaufen“ aktualisiert.

Zusammenfassung

Das programmgesteuerte Ändern des WooCommerce-Bestellstatus kann eine nützliche Funktion für Online-Shop-Besitzer sein, die ihr Bestellverwaltungssystem anpassen möchten. Mithilfe von WordPress-Hooks und -Filtern können Sie benutzerdefinierte Bestellstatus erstellen, Bestellstatusänderungen automatisieren und Dienste von Drittanbietern integrieren. Wir hoffen, dass dieser Artikel Ihnen einige Einblicke gegeben hat, wie Sie dies erreichen können, und Sie dazu inspiriert hat, weitere Möglichkeiten mit WooCommerce zu erkunden.

 

Unsere Blogs

Wie man anfängt?

Mehr erfahren

WooCommerce-Wartung

33% sparen mit unserem jährlichen Preisplan.

Loslegen

Haben Sie Probleme mit WordPress?

Claim Your Kostenlose WordPress-Wartung

In der schnelllebigen digitalen Landschaft von heute verdient jede Website die Pflege und das Fachwissen eines professionellen Wartungsteams, das optimale Leistung, verbesserte Sicherheit und nahtlose Benutzererlebnisse gewährleistet, sodass Sie sich beruhigt auf das Wachstum Ihres Unternehmens konzentrieren können.

Alexey Seryapin
Gründer von WPServices

Gutscheincode angewendet!

Nehmen Sie sich Zeit und stöbern Sie weiter durch unsere Dienstleistungen.

Alexey Seryapin
Gründer von WPServices