WooCommerce é um plugin WordPress incrível para vender produtos online. E hoje eu gostaria de mostrar como criar um plugin para permitir que você crie status de pedidos personalizados. Por padrão, o WooCommerce fornece estes status de pedidos:
- cancelado
- concluído
- fracassado
- em espera
- pendente
- em processamento
- devolveu
Mas e se você quiser adicionar novos status ou talvez modificar os existentes? Abaixo está um exemplo que mostra como é fácil adicionar um novo status de pedido aos seus pedidos do WooCommerce.
Visualmente aqui está o resultado final:
Registrar novo status de pedido do WooCommerce
Anteriormente, o WooCommerce usava uma taxonomia “shop_order_status”, então adicionar novos status de pedidos era um pouco complicado, no entanto, agora é mais fácil do que nunca! Dê uma olhada no código abaixo para um exemplo.
// 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’ );
Se você quiser adicionar vários novos status de pedidos, simplesmente duplique a função register_post_status dentro da função wpex_wc_register_post_statuses quantas vezes quiser, certificando-se de alterar o ID e os rótulos de acordo. Em seguida, adicione o novo status do pedido ao array $order_statuses na função wpex_wc_add_order_statuses.