ホームページ > バックエンド開発 > PHPチュートリアル > 特定の支払い方法で WooCommerce の注文完了を自動化するにはどうすればよいですか?

特定の支払い方法で WooCommerce の注文完了を自動化するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-17 20:53:11
オリジナル
941 人が閲覧しました

How to Automate WooCommerce Order Completion for Specific Payment Methods?

特定の支払い方法に対する WooCommerce での有料注文のオートコンプリート

WooCommerce は通常、仮想商品の注文をオートコンプリートします。ただし、「銀行振込」、「代金引換」、「小切手」などの特定の支払い方法では、条件付きアプローチが必要です。

woocommerce_payment_complete_order_status フィルター フック

この問題の最適な解決策は、woocommerce_payment_complete_order_status フィルター フックを利用することです。支払いはチェックアウト時に必要です。

フィルター フックを使用した条件付きコード

次のコードはフィルター フックを利用し、支払い方法に基づいてステータスの変更を条件付きで適用します。

add_filter('woocommerce_payment_complete_order_status', 'wc_auto_complete_paid_order', 10, 3);
function wc_auto_complete_paid_order($status, $order_id, $order)
{
    // Check if the payment method is not "Bank wire," "Cash on delivery," or "Cheque."
    if (!in_array($order->get_payment_method(), array('bacs', 'cod', 'cheque'))) {
        // If not, change the order status to "completed."
        return 'completed';
    }

    // Otherwise, do not modify the order status.
    return $status;
}
ログイン後にコピー

このフィルター フックを使用すると、複数の通知をトリガーすることなく、支払い方法に基づいて有料注文のステータスを効果的かつ正確に更新できます。

代替手段

コード スニペット:

対象とする支払い方法が、以下の支払い方法に限定されている場合デフォルトではオートコンプリートをトリガーしません (「銀行振込」、「代金引換」、および「小切手」)。次のコード:

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);

    // Check if the payment method is not "Bank wire," "Cash on delivery," or "Cheque."
    if (!in_array($order->get_payment_method(), array('bacs', 'cod', 'cheque'))) {
        // If not, update the order status to "completed."
        $order->update_status('completed');
    }
}
ログイン後にコピー

プラグイン:

「WooCommerce Autocomplete Orders」プラグインは、特定の支払い方法に対するソリューションを提供することもできます。ただし、特定のクレジット カード ゲートウェイでは機能しない場合があります。

以上が特定の支払い方法で WooCommerce の注文完了を自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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