WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce mettre à jour l’utilisateur après une commande

Étiqueté : 

2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #52720
    Hemingway
    Participant
    Points: 15 pts

    Bonjour à tous.

    J’essaye d’ajouter un nouveau rôle (« adherent ») à un utilisateur qui paye son adhésion annuelle, laquelle est traitée comme un produit spécifique vendu sur la boutique.
    Dans cette version simple de mon code php qui me sert juste à tester le concept, je n’ai pas encore introduit de test dans les lignes de la commande pour voir si le client a bien commandé l’adhésion annuelle.
    Je souhaite juste, lors du thankyou, ajouter systématiquement le rôle adhérent.
    Cependant, j’ai l’impression que ma fonction n’est jamais invoqué.

    Quelles sont les erreurs dans le code suivant que j’ai placé dans le fichier function.php de mon thème enfant ?

    https://pastebin.com/pNw3nM7H

    Merci pour votre aide.

    depanagewp
    #52734
    Mathieu
    Participant
    Points: 1,315 pts
    Membre 2 étoiles

    je vous conseille de faire vos tests directement dans une extension. il y a toujours un petit risque que cela ne s’exécute pas de la même façon que dans le thème donc ça permet de gagner du temps sur ce point.

    en ce qui concerne le code, l’action woocommerce_thankyou se lance lors de l’affichage chez le client et suivant le mode de paiement choisi, il est possible que la commande ne soit pas encore payée.
    donc il vaut mieux faire ce traitement au paiement de la commande avec l’action woocommerce_payment_complete
    https://docs.woocommerce.com/wc-apidocs/source-class-WC_Order.html#90-139

    Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
    Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
    🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.

    depanagewp
2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.