2016-09-08 13 views
2

ユーザが十分なポイントを持っていない場合、私はWoocommerce orderを削除するためのプラグインを作っています。しかし、削除wp_delete_post();は機能しません。注文の削除()が機能しません。 Woocommerce、wordpress

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

それは**場合**状態で起こっていますか? –

+0

Ys。状態は機能しています。私はそれを確認するために 'echo'を使います。 – Capslock10

+0

<?php wc_delete_order_item($ order_id); ?>試してみよう –

答えて

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); 
関連する問題