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.

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.