ホームページ > バックエンド開発 > PHPチュートリアル > 条件付きロジックを使用して有料の WooCommerce 注文を自動的に完了するにはどうすればよいですか?

条件付きロジックを使用して有料の WooCommerce 注文を自動的に完了するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-27 10:57:08
オリジナル
963 人が閲覧しました

How Can I Automatically Complete Paid WooCommerce Orders with Conditional Logic?

WooCommerce の有料注文自動完了の条件コード

WooCommerce では通常、仮想商品の注文が自動完了されますが、支払い方法によっては発生しない場合があります。制限。この問題を処理する条件付きコードを実装する方法は次のとおりです:

フィルター フックの識別:

許可された有料注文ステータスを変更するフィルター フックは woocommerce_payment_complete_order_status。このフックは、チェックアウト時に支払いを必要とするすべての支払い方法で使用されます。

WooCommerce 3 以降 (2019) のソリューション:

add_filter( 'woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3 );
function wc_auto_complete_paid_order( $status, $order_id, $order ) {
    return 'completed';
}
ログイン後にコピー
  • このコード許可される有料注文ステータスを変更し、以下を含むようにします。 "completed".

WooCommerce 3 以降の改良版 (2018):

add_action( 'woocommerce_thankyou', 'wc_auto_complete_paid_order', 20, 1 );
function wc_auto_complete_paid_order( $order_id ) {
    $order = wc_get_order( $order_id );

    if ( in_array( $order->get_payment_method(), array( 'bacs', 'cod', 'cheque' ) ) ) {
        return;
    }

    $order->update_status( 'completed' );
}
ログイン後にコピー
  • このコードはステータスを " に更新するだけです「バックス」「代金引換」以外のお支払い方法の場合は「完了」となります。 "cheque".

すべての WooCommerce バージョンの元の回答:

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_paid_order', 10, 1 );
function custom_woocommerce_auto_complete_paid_order( $order_id ) {
    $order = wc_get_order( $order_id );

    if ( ( 'bacs' == get_post_meta($order_id, '_payment_method', true) ) || ( 'cod' == get_post_meta($order_id, '_payment_method', true) ) || ( 'cheque' == get_post_meta($order_id, '_payment_method', true) ) ) {
        return;
    } elseif( $order->get_status()  === 'processing' ) {
        $order->update_status( 'completed' );
    }
}
ログイン後にコピー
  • このコードは get_post_meta() を使用して "bacs" をチェックします、「cod」、および「cheque」支払い方法をスキップします。注文。

以上が条件付きロジックを使用して有料の WooCommerce 注文を自動的に完了するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート