Crochet Woocommerce après avoir créé la commande? [fermé]

9

Je recherche un crochet qui sera déclenché après que quelqu'un aura soumis le formulaire de paiement et la commande passée (qu'il ait effectué le paiement ou non).

j'ai essayé woocommerce_new_order

Mais ça ne marche pas.

Ifty
la source
Publiez votre code qui ne fonctionne pas.
montréaliste
function action_woocommerce_new_order( $order_id ) { update_option('new_order', $order_id ); }; add_action( 'woocommerce_payment_complete', 'action_woocommerce_new_order', 10, 1 );
Ifty
'woocommerce_new_order'le crochet est la réponse.
Hamid Mohayeji

Réponses:

10

Essayez le woocommerce_thankyoucrochet. Cela se déclenchera après réception de la commande, quelle que soit la manière dont l'utilisateur a effectué le paiement.

$hook_to = 'woocommerce_thankyou';
$what_to_hook = 'wl8OrderPlacedTriggerSomething';
$prioriy = 111;
$num_of_arg = 1;    
add_action($hook_to, $what_to_hook, $prioriy, $num_of_arg);

function wl8OrderPlacedTriggerSomething($order_id){
      //do something...
}

Pour plus de référence, fouillez dans woocommerce / templates / checkout / thankyou.php

WisdmLabs
la source
4
Remarque: cet événement sera déclenché à nouveau si l'utilisateur final actualise la page de remerciement pour une raison quelconque.
Vivek Athalye
2
Existe-t-il un crochet qui ne fonctionne que lors de la sauvegarde?
benedict_w
1
notez également que ce crochet ne sera pas déclenché si un utilisateur saute d'une manière ou d'une autre la page de remerciement
Yair Levy
2

J'ai trouvé la solution. Une ancienne commande existe déjà dans ma liste de commandes. Ainsi, lorsque j'ajoute de nouveaux articles dans l'ordre, woocommerce met simplement à jour mon ancienne commande non payée. J'utilise donc woocommerce_resume_orderaussi l'action. Maintenant ça va.

Ifty
la source