用于订单更新的 Woocommerce 钩子
Woocommerce hook for order update
大家早上好。
正如标题所说,我正在尝试在更新订单时触发一个功能。
更具体地说,我想 运行 在更改订单页面(管理端)中的自定义字段然后保存时使用此功能。
我不是想知道订单何时完成或状态何时更新,而是想知道此字段何时更新。
目前我正在使用 woocommerce_process_shop_order_meta
挂钩,但它似乎不起作用。
有什么建议吗?
谢谢!
-- 编辑--
woocommerce_process_shop_order_meta
是正确的钩子,我在这个钩子触发的函数中遇到了错误,所以如果你需要 运行 在管理员中单击更新顺序后的函数页面这是正确的方法。
如编辑中所写,如果您想在订单更新时触发功能或响应,woocommerce_process_shop_order_meta
是正确的挂钩。
我最终使用了 save_post_shop_order
钩子。它在以下事件中被调用:
- 订单创建(客户结帐流程和管理)
- 单个订单更新
- 批量状态更新
- 破坏订单
- 取消订单
为了只观看订单更新,您必须像这样过滤掉非订单类型 posts 和 post 创作:
add_action (
'save_post_shop_order',
function (int $postId, \WP_Post $post, bool $update): void
{
// Ignore order (post) creation
if ($update !== true) {
return;
}
// Here comes your code...
},
10,
3
);
woocommerce_after_order_object_save
似乎首先是一个不错的选择,但根据我的经验,它 运行 3 次 在单个订单更新中(在简单的工厂安装中没有插件)。前2次运行时,订单数据还不是最新的(状态是更新前的状态),所以我觉得这个hook没用。
大家早上好。 正如标题所说,我正在尝试在更新订单时触发一个功能。 更具体地说,我想 运行 在更改订单页面(管理端)中的自定义字段然后保存时使用此功能。
我不是想知道订单何时完成或状态何时更新,而是想知道此字段何时更新。
目前我正在使用 woocommerce_process_shop_order_meta
挂钩,但它似乎不起作用。
有什么建议吗?
谢谢!
-- 编辑--
woocommerce_process_shop_order_meta
是正确的钩子,我在这个钩子触发的函数中遇到了错误,所以如果你需要 运行 在管理员中单击更新顺序后的函数页面这是正确的方法。
如编辑中所写,如果您想在订单更新时触发功能或响应,woocommerce_process_shop_order_meta
是正确的挂钩。
我最终使用了 save_post_shop_order
钩子。它在以下事件中被调用:
- 订单创建(客户结帐流程和管理)
- 单个订单更新
- 批量状态更新
- 破坏订单
- 取消订单
为了只观看订单更新,您必须像这样过滤掉非订单类型 posts 和 post 创作:
add_action (
'save_post_shop_order',
function (int $postId, \WP_Post $post, bool $update): void
{
// Ignore order (post) creation
if ($update !== true) {
return;
}
// Here comes your code...
},
10,
3
);
woocommerce_after_order_object_save
似乎首先是一个不错的选择,但根据我的经验,它 运行 3 次 在单个订单更新中(在简单的工厂安装中没有插件)。前2次运行时,订单数据还不是最新的(状态是更新前的状态),所以我觉得这个hook没用。