WooCommerce est un plugin WordPress génial pour vendre des produits en ligne. Et aujourd’hui, j’aimerais vous montrer comment créer un plugin pour vous permettre de créer des statuts de commande personnalisés. Par défaut, WooCommerce fournit ces statuts de commande:

  • annulé
  • terminé
  • échoué
  • en attente
  • en attente
  • En traitement
  • remboursé

Mais que faire si vous souhaitez ajouter de nouveaux statuts, ou peut-être modifier ceux existants? Vous trouverez ci-dessous un exemple vous montrant à quel point il est facile d’ajouter un nouveau statut de commande à vos commandes WooCommerce.

Visuellement, voici le résultat final:

Enregistrer un nouveau statut de commande WooCommerce

Auparavant, WooCommerce utilisait une taxonomie «shop_order_status», donc ajouter de nouveaux statuts de commande était un peu délicat, cependant, maintenant c’est plus facile que jamais! Jetez un œil au code ci-dessous pour un exemple.

// 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' );

Si vous souhaitez ajouter plusieurs nouveaux statuts de commande, dupliquez simplement la fonction register_post_status dans la fonction wpex_wc_register_post_statuses autant de fois que vous le souhaitez en vous assurant de modifier l’ID et les étiquettes en conséquence. Ajoutez ensuite le nouvel état de la commande au tableau $ order_statuses dans la fonction wpex_wc_add_order_statuses.

Share: