add_filter( 'woocommerce_payment_complete_order_status', 'status_after_order', 10, 2 );
function status_after_order( $order_status, $order_id ){
echo $order_status;
}
当我们通过Paypal和管理员订购时,可以设置保留库存(Woocommerce>产品>库存)。超时后,管理员的订单状态自动更新为“已取消”,但是当我们使用上述过滤器时,它会显示“正在处理”。
在这种情况下,它将赋予我状态“已取消”的所有过滤器/操作。您能帮我解决这个问题吗?
答案 0 :(得分:1)
好吧,首先,您使用的挂钩只是为了指示订单完成状态,这就是为什么您未获得订单状态的原因。
但是我在检测到订单后不知道您到底想做什么,但是您有两种解决方法:
第一个解决方案是检测订单状态从什么状态变为取消状态
add_action('woocommerce_order_status_cancelled', 'check_status', 30, 2);
function check_status($order_id)
{
wp_die( $order_id ); // this will echo the id or you can do whatever you want here
}
第二种解决方法是使用此挂钩检查订单是否已从某些状态更改为另一种状态:
add_action('woocommerce_order_status_changed', 'check_status', 30, 3);
function test12($id, $old_status, $new_status)
{
if ($new_status == 'cancelled') {
//do Somthing
}
}