Delete order()不起作用.Woocommerce, wordpress


Delete order() doesn't work. Woocommerce, wordpress

我正在制作一个插件,用于在用户没有足够的点时删除Woocommerce order。但删除wp_delete_post();不工作。

function delete_order($order)
{
     global $post; 
     $order_id = absint( get_query_var( 'order-pay' ) );
     //If the user do not have enough point
     if(get_user_bonus_point() < (int)$order->get_total())
     $post->wp_delete_post($order_id,true);
}
add_action('woocommerce_checkout_order_processed', 'delete_order', 10, 1);

但是在我下订单之后,订单没有被删除。但是当下订单时,其他功能可以工作。

谢谢

试试下面的代码:

function delete_order($order_id)
{
     global $post; 
     $order = new WC_Order( $order_id );
     //If the user do not have enough point
     if(get_user_bonus_point() < (int)$order->get_total())
     $post->wp_delete_post($order_id,true);
}
add_action('woocommerce_checkout_order_processed', 'delete_order', 10, 1);