2016-10-07 15 views
1

「保留」ステータスではなく「処理中」ステータスにチェックを入れて、WooCommerceプッシュ支払いを行う必要があります。下のスニペットを試しましたが、効果がないようです。ここで小切手支払方法で注文ステータスを「処理中」に変更

は私のコードです:

add_filter('woocommerce_payment_complete_order_status', 'sf_wc_autocomplete_paid_orders'); 

function sf_wc_autocomplete_paid_orders($order_status, $order_id) { 

$order = wc_get_order($order_id); 

if ($order->status == 'on-hold') { 
    return 'processing'; 
} 

return $order_status; 
} 

どのように私はこれを達成することができますか?

ありがとうございました。ここで

答えて

6

あなたはwoocommerce_thankyouに夢中で見ている機能であるフック:

add_action('woocommerce_thankyou', 'cheque_payment_method_order_status_to_processing', 10, 1); 
function cheque_payment_method_order_status_to_processing($order_id) { 
    if (! $order_id) 
     return; 

    $order = wc_get_order($order_id); 

    // Updating order status to processing for orders delivered with Cheque payment methods. 
    if ( get_post_meta($order->id, '_payment_method', true) == 'cheque') 
     $order->update_status('processing'); 
} 

このコードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに入るか、また、どのプラグインファイルで。

これはテスト済みであり、動作します。


関連スレッド:WooCommerce: Auto complete paid Orders (depending on Payment methods)

+2

私はインクルードはページが右フックですが、私はもっと良いものを見つけることができなかったので、私はそれはそれだと思うあなたに感謝することを驚いています。 – helgatheviking