Ich habe ein Plugin entwickelt, um WooCommerce-Bestellungen mit HubSpot zu verbinden. Das Problem, das ich habe, ist, dass es zwar funktioniert, der Hook, den ich jetzt verwende, die Bestellinformationen jedoch an HubSpot sendet, bevor die Technologie vollständig ist. Das bedeutet also, dass Dinge wie „Bestellung fehlgeschlagen“ als „Ausstehend“ gesendet werden und der Gutscheincode weggelassen wird.
Ich möchte also wissen, welcher Haken der richtige ist.
Mein Ziel: Jedes Mal, wenn eine WooCommerce-Bestellung erstellt und abgeschlossen wird und jedes Mal, wenn eine WooCommerce-Bestellung aktualisiert wird, Daten an HubSpot senden.
Was ich bisher habe:
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); }
Ich schätze, ich suche einfach nach dem richtigen Haken, um das zu bekommen, was ich will.
Danke!
这是你的答案:
每个 WooCommerce 订单转换都有一个或多个动态挂钩,这些挂钩在状态转换发生时触发。
它们以“woocommerce_order_status_”开头,操作的其余部分是订单已转换到的新状态,或者格式为“to”的往返状态'
示例
您可以将您的函数挂钩
仅在订单转换为已完成时触发您的函数,而在退款、取消、暂停等时不触发您的函数,因为这些操作将在其他操作上运行,例如
编辑以添加官方 WooCommerce 文档的链接:
https://woocommerce.github.io/code-reference/hooks /hooks.html