当用户没有足够的积分时,我正在制作一个用于删除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);
但是在我下订单后,订单没有删除。但是在下订单时其他功能也可以使用。
由于
答案 0 :(得分:2)
请尝试以下代码:
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);