仅用于订单处理的 WordPress Hook
我正在制作一个 WordPress 插件,每次订单状态从“待处理”更新为“处理”时,我都需要进行 API 调用。
function __construct(){
add_action( 'woocommerce_after_order_object_save', [$this,'action_woocommerce_doba_order_import'], 10, 1 );
}
public function action_woocommerce_doba_order_import($order){
if ( 'processing' === $order->get_status() ) {
"API call here"
}
}
当订单状态从“待处理”更新为“正在处理”时,此代码可以正常工作,但当状态从“正在处理”更改为其他状态时,它会进行两次额外的 API 调用。 因此,对于状态从处理状态更改为其他状态的每个订单,我都会收到两个额外的 API 调用。 我肯定犯了一些错误。也许我使用了错误的钩子或者需要设置不同的条件。
I am making a WordPress plugin, where I need to make an API call every time order status updates to "processing" from "pending".
function __construct(){
add_action( 'woocommerce_after_order_object_save', [$this,'action_woocommerce_doba_order_import'], 10, 1 );
}
public function action_woocommerce_doba_order_import($order){
if ( 'processing' === $order->get_status() ) {
"API call here"
}
}
This code works fine when order status updates to "processing" from "pending" but it makes two additional API calls when status changes to something else from "processing".
So I get two additional API calls for each order it status changes from processing to something else.
I am definitely making some mistakes. Maybe I am using the wrong hook or need to put a different condition.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我们创建了一个 WordPress 代码来更改订单状态,每次订单状态从“待处理”更新为“处理中”时都会调用 Hooks 函数。
你试试这个:
We have created a WordPress code for changing the order status, Hooks function call every time order status updates to "processing" from "pending".
You try this:
我试图在最新版本的 WooCommerce 插件 [6.3.1] 中找到此操作,但找不到,但我发现可能有更好的挂钩可以使用,其中包括新状态。
所以你可以这样使用它:
I tried to find this action in the newest version of the WooCommerce plugin [6.3.1] and I couldn't, but I found out that there's probably a better hook to use, which includes the new status.
So you could use it like this: