尝试找到 WooCommerce 订单提交的正确挂钩
P粉323374878
P粉323374878 2024-03-31 18:06:07
0
1
521

我开发了一个插件,用于将 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);
}

所以我想我只是在寻找正确的钩子来得到我想要的东西。

谢谢!

P粉323374878
P粉323374878

全部回复(1)
P粉216807924

这是你的答案:

每个 WooCommerce 订单转换都有一个或多个动态挂钩,这些挂钩在状态转换发生时触发。

它们以“woocommerce_order_status_”开头,操作的其余部分是订单已转换到的新状态,或者格式为“to”的往返状态'

示例

您可以将您的函数挂钩

add_action( 'woocommerce_order_status_completed', 'your_order_completed_function');

仅在订单转换为已完成时触发您的函数,而在退款、取消、暂停等时触发您的函数,因为这些操作将在其他操作上运行,例如

woocommerce_order_status_refunded
woocommerce_order_status_cancelled
woocommerce_order_status_on-hold
woocommerce_order_status_failed
woocommerce_order_status_processing

编辑以添加官方 WooCommerce 文档的链接:

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板