J'essaie de m'envoyer un e-mail après chaque commande passée. Le problème que j'ai est que $order->get_total()
ainsi que get_total_tax
retourner au lieu de la valeur totale réelle de la commande.Récupérer des données de commande dans le nouvel ordre hook
add_action('woocommerce_new_order', 'custom_after_order_created_hook', 12 , 1);
function custom_after_order_created_hook($order_id) {
$order = new WC_Order($order_id);
$with_tax = $order->get_total();
$tax = $order->get_total_tax();
$without_tax = $with_tax - $tax;
$to = "[email protected]";
$subject = "New order";
$content = "
New order {$order->id}
With tax: {$with_tax}
Without tax: {$without_tax}
Tax: {$tax}
";
$status = wp_mail($to, $subject, $content);
}
Chaque valeur en plus order_id $ et $order->id
obtient évalué à 0. order_id de $ a une valeur appropriée. Ce problème se produit uniquement lorsque vous utilisez le crochet woocommerce_new_order
(j'ai également essayé de l'utiliser sur une page personnalisée - fonctionne correctement), ce qui me fait réfléchir.
Je ne sais pas quel est le problème ici, y a-t-il une partie de mon code asynchrone?
Ou peut-être que ce crochet est appelé avant que la commande ne soit mise à jour avec le prix payé/information fiscale?
Que dois-je faire pour obtenir des informations de prix ici?
Merci.
quelle verion de WC? –