Votre partenaire dédié pour tout ce qui concerne WordPress

Comment modifier le statut des commandes WooCommerce par programme

Table des matières

WooCommerce est une plateforme de commerce électronique populaire qui alimente des millions de boutiques en ligne dans le monde. L'une des fonctionnalités principales de WooCommerce est la possibilité de gérer les commandes. Par défaut, WooCommerce est livré avec plusieurs statuts de commande tels que en attente, en traitement, terminé et annulé. Cependant, il peut arriver que vous deviez créer des statuts de commande personnalisés ou modifier le statut de la commande par programme. Dans cet article de blog, nous allons vous montrer comment modifier le statut de la commande WooCommerce par programme et vous donner quelques exemples de ses applications pratiques.

Avant de commencer, il est essentiel de comprendre comment fonctionnent les statuts de commande dans WooCommerce. Lorsqu'un client passe une commande, le statut par défaut « en attente » lui est attribué. Vous pouvez modifier manuellement ce statut en « en cours de traitement » lorsque vous commencez à exécuter la commande. Une fois la commande terminée, vous pouvez changer le statut en « terminé ». Si une commande est annulée, le statut passe à « annulée ».

Supposons maintenant que vous deviez créer un statut de commande personnalisé appelé « en attente ». Vous pouvez le faire en ajoutant le code suivant à votre fichier function.php :

"`php
fonction register_custom_order_status() {
register_post_status( 'wc-on-hold', array(
'label' => 'En attente',
'public' => vrai,
'exclude_from_search' => faux,
'show_in_admin_all_list' => vrai,
'show_in_admin_status_list' => vrai,
'label_count' => _n_noop( 'En attente (%s) ', 'En attente (%s) ' )
));
}
add_action( 'init', 'register_custom_order_status' );
“`

Vous pouvez ensuite utiliser le code suivant pour modifier le statut de la commande en « en attente » par programmation :

"`php
$order = wc_get_order( $order_id );
$order->update_status( 'on-hold', __( 'Commande en attente', 'woocommerce' ) );
“`

Ce code récupère l'objet de commande à l'aide de la variable $order_id et met à jour son statut sur « en attente ».

Voyons maintenant une application pratique de ce code. Disons que vous exploitez une boutique en ligne qui propose un service d'abonnement. Vous souhaitez créer un statut de commande personnalisé appelé « expiré » qui est attribué aux commandes à la fin de leur période d'abonnement. Vous pouvez utiliser le code suivant pour y parvenir :

"`php
function change_order_status_on_subscription_expiry( $abonnement) {
$order_id = $abonnement->get_parent_id();
$order = wc_get_order( $order_id );
$order->update_status( 'expiré', __( 'Abonnement expiré', 'woocommerce' ) );
}
add_action( 'woocommerce_subscription_end_of_prepaid_term', 'change_order_status_on_subscription_expiry' );
“`

Ce code écoute l'événement « woocommerce_subscription_end_of_prepaid_term », qui est déclenché à la fin d'une période d'abonnement. Il récupère ensuite l'ID de commande parent et met à jour son statut sur « expiré ».

Conclusion

Changer le statut des commandes WooCommerce par programme peut être une fonctionnalité utile pour les propriétaires de boutiques en ligne qui souhaitent personnaliser leur système de gestion des commandes. À l'aide des hooks et des filtres WordPress, vous pouvez créer des statuts de commande personnalisés, automatiser les modifications du statut des commandes et intégrer des services tiers. Nous espérons que cet article vous a donné quelques idées sur la façon d'y parvenir et vous a inspiré à explorer davantage de possibilités avec WooCommerce.

 

Comment commencer?

Apprendre encore plus

Entretien de WooCommerce

ÉCONOMIE 33% avec notre plan tarifaire annuel.

Débuter

Vous rencontrez des problèmes avec WordPress ?

Votre revendication Maintenance WordPress gratuite

Dans le paysage numérique actuel, en évolution rapide, chaque site Web mérite le soin et l'expertise d'une équipe de maintenance professionnelle, garantissant des performances optimales, une sécurité renforcée et des expériences utilisateur fluides, afin que vous puissiez vous concentrer sur la croissance de votre entreprise en toute tranquillité d'esprit.

Alexeï Seriapine
Fondateur de WPServices

Code promo appliqué !

Prenez votre temps et continuez à parcourir nos services.

Alexeï Seriapine
Fondateur de WPServices