我正在制作一个插件,用于在用户没有足够的点时删除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);