试图为 WooCommerce 订单提交找到合适的挂钩

Trying to find the right hook for WooCommerce Order Submission

我开发了一个插件,可以将 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_' 开头,操作的剩余部分要么是订单转换到的新状态,要么是格式 ' 中涉及的往返状态'

例子

您可以将函数挂接到

add_action( 'woocommerce_order_status_completed', 'your_order_completed_function');

仅当订单转换为已完成时才触发您的功能,并且 不会 退款、取消、on-hold 等 运行关于其他操作,例如

woocommerce_order_status_refunded
woocommerce_order_status_cancelled
woocommerce_order_status_on-hold
woocommerce_order_status_failed
woocommerce_order_status_processing

编辑以将 link 添加到官方 WooCommerce 文档:

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