我开发了一个插件,用于将 WooCommerce 订单连接到 HubSpot。我遇到的问题是,虽然它可以工作,但我现在使用的钩子在技术完成之前将订单信息发送到 HubSpot。因此,这意味着诸如“失败订单”之类的内容将作为“待处理”发送,并且省略优惠券代码。
所以我想知道使用正确的钩子是什么。
我的目标:每次创建并完成 WooCommerce 订单以及更新 WooCommerce 订单时,将数据发送到 HubSpot。
到目前为止我所拥有的:
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); }
所以我想我只是在寻找正确的钩子来得到我想要的东西。
谢谢!
这是你的答案:
每个 WooCommerce 订单转换都有一个或多个动态挂钩,这些挂钩在状态转换发生时触发。
它们以“woocommerce_order_status_”开头,操作的其余部分是订单已转换到的新状态,或者格式为“to”的往返状态'
示例
您可以将您的函数挂钩
仅在订单转换为已完成时触发您的函数,而在退款、取消、暂停等时不触发您的函数,因为这些操作将在其他操作上运行,例如
编辑以添加官方 WooCommerce 文档的链接:
https://woocommerce.github.io/code-reference/hooks /hooks.html