WooCommerce挂钩状态更改多次触发,而不是仅针对更改后的订单触发

时间:2020-09-01 16:00:14

标签: wordpress woocommerce hook-woocommerce wordpress-action

当订单取消时,我已经为WooCommerce创建了一个钩子:

add_action( 'woocommerce_order_status_cancelled', 'prefix_order_cancelled_hook' );

function prefix_order_cancelled_hook($order_id){
    write_log("Order ${order_id} has been cancelled")
}

现在,当状态更改为“取消”时,将按预期方式调用该钩子,但是输出执行不是我期望的。我在日志中得到以下内容:

Order 4 has been cancelled
Order 5 has been cancelled
Order 6 has been cancelled

我已经看到这与我目前在商店中的订单数量相对应。有人可以帮忙解释为什么发生这种情况以及如何仅对更改后的订单运行一次挂钩。

1 个答案:

答案 0 :(得分:0)

似乎所有代码都执行了您的代码。因此import numpy as np import plotly.graph_objects as go X = np.random.randn(100, 90) import plotly.graph_objects as go fig = go.Figure(data=[go.Surface(z=X)]) fig.update_layout( title='something', autosize=False, width=500, height=500, margin=dict(l=65, r=50, b=65, t=90), scene=dict( xaxis_title='X Axis Title', yaxis_title='Y Axis Title', zaxis_title='Z Axis Title', ), ) fig.show() 似乎有问题。我认为您不能直接访问属性,但需要获取WC_Order对象的实例(因为Woocommerce 3.0或更高版本),例如:

$order_id