2017-05-11 7 views
0

私はwoocommerce用の支払いゲートウェイを作成していますが、支払いが済んだら、あなたに感謝の意志を伝えるためにリダイレクトしています。 'woocommerce_thankyouフックがうまくいっていない場合

私は自分のプラグインのメインファイルにwoocommerce_thankyouフックを使用しています。私は支払いのと、私は注文のステータスを更新したい応答に応じたよりも状態を確認するために、API呼び出しを送信するステータスを更新する前に、この機能では、実際

add_action('woocommerce_thankyou_epg', 'my_change_status_function', 10, 1); 

    function my_change_status_function($order_id) { 

     $order = new WC_Order($order_id); 
     $order->update_status('processing', __('Payment received.', 'wc-gateway-offline')); 

    } 

誰でもこのソートを手伝うことができます。

答えて

0

変更にフック:

add_action('woocommerce_thankyou', 'my_change_status_function', 20, 1); 

    function my_change_status_function($order_id) { 

     $order = new WC_Order($order_id); 
     $order_pay_method = get_post_meta($order->id, '_payment_method', true); 
     if($order_pay_method == 'epg'){ 
     $order->update_status('processing', __('Payment received.', 'wc-gateway-offline')); 
     } 
    } 

はフックを修正しました。

+0

私は最初のものは、特定の支払方法のために働く以外woocommerce_thankyou _ {$のPAYMENT_METHOD}とwoocommerce_thankyouフックが同じだと思います。 私は両方を試みましたが、何も動いていません。 – Airish

+0

コードを更新しました。もう助けてもらえますか? –

0
add_action('woocommerce_thankyou', 'my_change_status_function', 10, 1); 

function my_change_status_function($order_id) { 

    $order = new WC_Order($order_id); 
    $order->update_status('processing', __('Payment received.', 'wc-gateway-offline')); 

} 
+0

woocommerce_thankyou _ {$ payment_method}とwoocommerce_thankyouフックは、最初のものが特定の支払い方法で動作する以外は同じものだと思います。私は両方を試みたが、誰も働いていない。 – Airish

+0

@Maxはテンプレートファイルを上書きしましたか? –

+0

いいえ、ファイルを上書きしませんでした。このコードを私のプラグインのメインファイルに入れてください。 – Airish

関連する問題