Maison  >  Questions et réponses  >  le corps du texte

Essayer de trouver le bon crochet pour la soumission des commandes WooCommerce

J'ai développé un plugin pour connecter les commandes WooCommerce à HubSpot. Le problème que j'ai est que même si cela fonctionne, le hook que j'utilise envoie désormais les informations de commande à HubSpot avant que la technologie ne soit terminée. Cela signifie donc que des éléments tels que « Commande échouée » seront envoyés comme « En attente » et que le code promo sera omis.

Je veux donc savoir quel est le bon crochet à utiliser.

Mon objectif : envoyer des données à HubSpot à chaque fois qu'une commande WooCommerce est créée et terminée, et à chaque fois qu'une commande WooCommerce est mise à jour.

Ce que j'ai jusqu'à présent :

add_action('save_post_shop_order', 'printout', 10, 3);

function printout($post_ID, $post, $update)
{
    if (!is_admin()){
        return;
    }

    if($update){
        $msg = $post_ID;
        $order = get_woocommerce_order($msg);
        mainplugin($msg, $order);
    }

}


add_action('woocommerce_new_order', 'neworder_delegator', 10, 2);


function neworder_delegator($order_id, $order){
    mainplugin($order_id, $order);
}

Donc je suppose que je cherche juste le bon crochet pour obtenir ce que je veux.

Merci !

P粉323374878P粉323374878225 Il y a quelques jours503

répondre à tous(1)je répondrai

  • P粉216807924

    P粉2168079242024-04-01 17:11:24

    Voici votre réponse :

    Chaque transition de commande WooCommerce possède un ou plusieurs hooks dynamiques qui se déclenchent lorsque la transition d'état se produit.

    Ils commencent par "woocommerce_order_status_" et le reste de l'action est le nouveau statut vers lequel la commande est passée, ou le statut aller-retour au format "to" '

    Exemple

    Vous pouvez accrocher vos fonctions

    add_action( 'woocommerce_order_status_completed', 'your_order_completed_function');

    Déclenchez votre fonction uniquement lorsque la commande est convertie en commande terminée, et non lors d'un remboursement, d'une annulation, d'un blocage, etc. car ces opérations seront exécutées sur d'autres opérations comme

    woocommerce_order_status_refunded
    woocommerce_order_status_cancelled
    woocommerce_order_status_on-hold
    woocommerce_order_status_failed
    woocommerce_order_status_processing

    Modifier pour ajouter un lien vers la documentation officielle de WooCommerce :

    https://woocommerce.github.io/code-reference/hooks /hooks.html

    répondre
    0
  • Annulerrépondre