Dans ce code, nous utilisons la fonction add_action pour attacher nos fonctions à deux actions spécifiques de WooCommerce : woocommerce_order_status_processing (commande en cours de traitement) et woocommerce_order_status_completed (commande terminée). À chaque fois que l’une de ces actions est déclenchée, notre fonction change_role_on_purchase est appelée.
La fonction change_role_on_purchase prend deux paramètres : l’identifiant de la commande ($order_id) et l’objet de la commande ($order). Nous utilisons cet objet pour obtenir l’objet WP_User associé à la commande en utilisant la méthode get_user(). Cela nous permet d’accéder aux informations de l’utilisateur lié à la commande.
Ensuite, nous vérifions si l’utilisateur a le rôle « customer » en utilisant la fonction is_a pour s’assurer que nous avons bien un objet de type WP_User et en utilisant in_array pour vérifier si le rôle « customer » fait partie des rôles de l’utilisateur.
Si l’utilisateur a le rôle « customer », nous procédons à la modification de son rôle. Nous commençons par supprimer le rôle « customer » en utilisant la méthode remove_role de l’objet WP_User. Ensuite, nous ajoutons un nouveau rôle en utilisant la méthode add_role. Dans cet exemple, nous ajoutons le rôle « editor », mais vous pouvez modifier cela selon vos besoins en remplaçant ‘editor’ par le rôle souhaité.
Une fois que vous avez ajouté ce code à votre thème ou à votre plugin personnalisé, les rôles des utilisateurs seront automatiquement modifiés après avoir passé une commande dans votre boutique WooCommerce. Les utilisateurs qui avaient le rôle « customer » se verront retirer ce rôle et se verront attribuer le nouveau rôle spécifié.
Cette fonctionnalité peut être extrêmement utile pour personnaliser l’expérience utilisateur sur votre boutique en ligne. Par exemple, vous pouvez accorder des privilèges spéciaux aux clients fidèles en leur donnant un accès exclusif à du contenu premium, à des offres spéciales ou à des fonctionnalités avancées. De cette façon, vous pouvez encourager la fidélité et récompenser vos clients réguliers.
De plus, en modifiant automatiquement le rôle des utilisateurs après une commande, vous pouvez automatiser certaines tâches administratives. Par exemple, si vous souhaitez que les clients qui ont récemment passé une commande aient des droits d’édition sur votre site, vous pouvez leur attribuer automatiquement le rôle d’éditeur. Cela leur permettra de contribuer à votre contenu sans que vous ayez à le faire manuellement pour chaque utilisateur.
Il est important de noter que ce code peut être personnalisé selon vos besoins spécifiques. Vous pouvez modifier les rôles utilisés, ajouter des conditions supplémentaires pour déterminer quels utilisateurs doivent changer de rôle, ou même effectuer des actions supplémentaires en fonction du rôle attribué. Assurez-vous de tester soigneusement le code sur un environnement de développement avant de l’implémenter sur votre site en production.