ホームページ > バックエンド開発 > PHPチュートリアル > WooCommerce での有料仮想製品の注文の完了を自動化するにはどうすればよいですか?

WooCommerce での有料仮想製品の注文の完了を自動化するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-09 18:25:11
オリジナル
509 人が閲覧しました

How to Automate the Completion of Paid Virtual Product Orders in WooCommerce?

WooCommerce で有料の仮想製品の注文を自動完了する方法

仮想製品の注文が支払い済みとしてマークされている場合、通常は自動的に次のように設定されます。 「完了」ステータス。ただし、WooCommerce は常にこれを行うわけではありません。この問題を解決するには、使用されている WooCommerce 支払い方法に基づいてカスタム コードを実装できます。

解決策

次のコード スニペットは、許可された有料注文ステータスをフィルタリングして、効果的に完了します。除外対象外の支払いで支払われる仮想製品の注文

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';
}
ログイン後にコピー

説明

  • 軽量かつ効果的: このフィルターは、オンライン支払いが必要な場合にのみトリガーされ、オンライン支払いを回避します。
  • 正確: 複数の顧客を防止注文ステータスを「完了」に設定するのは 1 回だけです。

代替ソリューション

  • 改良版 (WooCommerce 3 および上記):
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' );
}
ログイン後にコピー
  • 元の回答 (すべての 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' );
    }
}
ログイン後にコピー

注: アクティブな子テーマの function.php ファイルにコード スニペットを配置します。またはテーマ。

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

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