Extra orderstatus toevoegen in WooCommerce

Standaard heeft een WooCommerce webshop een aantal orderstatussen beschikbaar. Wil je deze uitbreiden met custom statussen? Dat kan met deze code in je functions.php of in de code snippets plugin.

Dit is een basis code, deze kun je als je hier de kennis voor hebt uiteraard zelf verder uitwerken.

PHP Code


// New order status AFTER woo 2.2
add_action( 'init', 'register_my_new_order_statuses' );
function register_my_new_order_statuses() {
register_post_status( 'wc-invoiced', array(
'label' => _x( 'In productie', 'Order status', 'woocommerce' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'In productie <span class="count">(%s)</span>', 'In productie<span class="count">(%s)</span>', 'woocommerce' )
) );
}
add_filter( 'wc_order_statuses', 'my_new_wc_order_statuses' );
// Register in wc_order_statuses.
function my_new_wc_order_statuses( $order_statuses ) {
$order_statuses['wc-invoiced'] = _x( 'In productie', 'Order status', 'woocommerce' );
return $order_statuses;
}
add_action('admin_head', 'styling_admin_order_list' );
function styling_admin_order_list() {
global $pagenow, $post;
if( $pagenow != 'edit.php') return; // Exit
if( get_post_type($post->ID) != 'shop_order' ) return; // Exit
// HERE we set your custom status
$order_status = 'invoiced'; // <==== HERE
?>
<style>
.order-status.status-<?php echo sanitize_title( $order_status ); ?> {
background: #ad7fb0;
color: #fff;
}
</style>
<?php>
}

Extra status voor order

Met de bovenstaande code wordt een extra status in productie toegevoegd en met een inline styling ook direct vormgegeven. Je kunt natuurlijk meerdere verschillende statussen toevoegen, deze code is voor een specifieke nieuwe orderstatus.

Feedback

Heb je na het lezen van dit artikel nog vragen of zijn er onduidelijkheden? Werkt de code niet op jouw website? Laat het ons weten, dan kunnen wij je misschien verder helpen.

Feedback kennisbankartikel

Naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Mis geen WordPress tips meer.

Al 500+ webdesigners en marketeers ontvangen deze nieuwsbrief.

Naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Mis nooit meer website tips.

Al 500+ webdesigners en marketeers ontvangen onze nieuwsbrief.

Naam
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.