WooCommerce ist ein großartiges WordPress-Plugin, um Produkte online zu verkaufen. Und heute möchte ich Ihnen zeigen, wie Sie ein Plugin erstellen, mit dem Sie benutzerdefinierte Bestellstatus erstellen können. Standardmäßig bietet WooCommerce diese Bestellstatus:
- Storniert
- vollendet
- gescheitert
- in Wartestellung
- steht aus
- wird bearbeitet
- zurückerstattet
Aber was ist, wenn Sie neue Status hinzufügen oder vielleicht vorhandene ändern möchten? Unten sehen Sie ein Beispiel, das Ihnen zeigt, wie einfach es ist, Ihren WooCommerce-Bestellungen einen neuen Bestellstatus hinzuzufügen.
Optisch ist hier das Endergebnis:
Neuen WooCommerce-Bestellstatus registrieren
Zuvor verwendete WooCommerce eine „shop_order_status“-Taxonomie, daher war das Hinzufügen neuer Bestellstatus ein bisschen schwierig, aber jetzt ist es einfacher denn je! Sehen Sie sich den Code unten für ein Beispiel an.
// Register New Order Statuses
function wpex_wc_register_post_statuses() {
register_post_status( 'wc-custom-order-status', array(
'label' => _x( 'Custom Order Status Name', 'WooCommerce Order status', 'text_domain' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Approved (%s)', 'Approved (%s)', 'text_domain' )
) );
}
add_filter( 'init', 'wpex_wc_register_post_statuses' );
// Add New Order Statuses to WooCommerce
function wpex_wc_add_order_statuses( $order_statuses ) {
$order_statuses['wc-custom-order-status'] = _x( 'Custom Order Status Name', 'WooCommerce Order status', 'text_domain' );
return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wpex_wc_add_order_statuses' );
Wenn Sie mehrere neue Bestellstatus hinzufügen möchten, duplizieren Sie einfach die Funktion register_post_status innerhalb der Funktion wpex_wc_register_post_statuses so oft Sie möchten, und stellen Sie sicher, dass Sie die ID und die Labels entsprechend ändern. Fügen Sie dann den neuen Bestellstatus zum Array $order_statuses in der Funktion wpex_wc_add_order_statuses hinzu.