WooCommerceで注文を自動承認する方法

公開: 2020-09-25

注文の自動承認WooCommerce eコマースストアを運営している場合は、サイトで注文の追跡と管理が必要であることに気づいています。 ただし、これは管理者にとって大変な作業になる可能性があります。特に、オンラインストアでトラフィックが多く、1日に大量の注文が発生する場合はなおさらです。

さらに、チェックアウトプロセスが完了するとすぐに注文が作成されることがわかります。 注文には、支払いから配送までのチェーンのどこにあるかに応じてステータスが割り当てられます。

さらに、ステータスは、注文が開始された場所に応じて、WooCommerce、Payment Gateway、およびストア管理者によって設定または変更されます。

ユーザーが代金引換オプションを選択していない場合、注文の支払いが完了した後。 注文が完了すると、ストアの所有者が手動で「完了」に変更するまで、そのステータスは「処理中」に設定されます。 これは、ストアの所有者または管理者にとって困難な作業になります。

注文の自動承認WooCommerce

この簡単なチュートリアルでは、支払いが正常に行われるたびに注文のステータスを自動的に完了として設定するのに役立つカスタムPHPコードを共有します。 これは、ユーザーが代金引換オプションを選択した場合でも、注文ステータスが自動的に完了に変わることを意味します。

さらに、仮想製品のWooCommerce注文ステータスを自動的に完了として設定するソリューションも共有します。 これらの製品は、具体的またはダウンロード可能ではありません。

これは、メンバーシップサブスクリプションに具体的な形式がなく、代わりに有効期限があるためです。 ダウンロード可能な商品を扱う場合は、代金引換オプションを含めるべきではありませんが、代わりに、注文のすべての商品が仮想であるかどうかを確認するための条件のみを追加する必要があります。

注文ステータスの設定方法がわかったので、次の方法に関する詳細なガイドを示します。

  • 支払い方法に基づいて、WooCommerceの注文ステータスを自動的に完了に設定します。
  • 仮想製品の場合、WooCommerceの注文ステータスを自動的に完了として設定します。

a)支払い方法に基づいてWooCommerceの注文ステータスを完了として自動的に設定する手順

従う必要のある簡単な手順は次のとおりです。

  1. WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
  2. [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、テーマ関数ファイルを探します。このファイルには、支払い方法に基づいてwoocommerceの注文ステータスを自動的に完了として設定する関数が追加されています。
  3. 次のコードをphpファイルに追加します。
 / **

支払い方法に基づいてwoocommerce注文ステータスを完了として自動的に設定するスニペット

* /

add_action( 'woocommerce_order_status_changed'、 'njengah_auto_complete_by_payment_method');

関数njengah_auto_complete_by_payment_method($ order_id)

{{

if(!$ order_id){

戻る;

}

グローバル$ product;

$ order = wc_get_order($ order_id);

if($ order-> data ['status'] == '処理中'){

$ payment_method = $ order-> get_payment_method();

if($ payment_method!= "bacs")

{{

$ order-> update_status( 'completed');

}

}

}
  1. 結果を確認するには、WordPressダッシュボードに移動し、[ WooCommerce]> [注文]をクリックします。 以下に示すように、注文が完了に設定されていることがわかります。 承認された注文

コードのしくみ

上記のコードでは、woocommerce_order_status_changedフックを使用して、注文のステータスが変更されたときに関数を呼び出しました。 注文のステータスが処理中であるかどうかを確認し、完了に変更します。

デフォルトでは、WooCommerceには4つのデフォルトの支払い方法があります。それは、直接銀行振込(bacs)、小切手支払い(cheque)、代金引換(cod)、およびPayPal(PayPal)です。 ただし、条件を設定するお支払い方法を指定する必要があります。

b)仮想製品のWooCommerce注文ステータスを完了として自動的に設定する手順

ダウンロード可能な製品:注文の自動承認WooCommerce 従う必要のある手順は次のとおりです。

  1. WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
  2. [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、テーマ関数ファイルを探します。このファイルには、仮想製品のwoocommerce注文ステータスを自動的に設定する関数が追加されています。
  3. 次のコードをphpファイルに追加します。
 / **

スニペットは、仮想製品のwoocommerce注文ステータスを完了として自動的に設定します

* /

add_action( 'woocommerce_order_status_changed'、 'njengah_auto_complete_virtual');

関数njengah_auto_complete_virtual($ order_id)

{{

if(!$ order_id){

戻る;

}

グローバル$ product;

$ order = wc_get_order($ order_id);

if($ order-> data ['status'] == '処理中'){

$ virtual_order = null;

if(count($ order-> get_items())> 0){

foreach($ order-> get_items()as $ item){

if( 'line_item' == $ item ['type']){

$ _product = $ order-> get_product_from_item($ item);

if(!$ _ product-> is_virtual()){

//非仮想製品が1つ見つかったら、ループから抜け出します

$ virtual_order = false;

壊す;

}

それ以外 {

$ virtual_order = true;

}

}

}

}




//すべてが仮想製品の場合、完了としてマークします

if($ virtual_order){

$ order-> update_status( 'completed');

}

}

}

  1. 順序は自動的に完了として設定されるため、結果は最初の例と同じになります。

コードのしくみ

上記のコードでは、同じフックを使用して関数njengah_auto_complete_virtualを呼び出しています。 が処理ステータスにあるかどうかを確認した後、コードは仮想製品があるかどうかを確認するために各アイテムを調べます。

line_itemは商品を参照し、商品が仮想であるかどうかを確認するには、商品を1つずつフェッチする必要があります。 仮想製品がない場合、注文のステータスは完了としてマークされません。

結論

この簡単なチュートリアルでは、WooCommerceの注文ステータスを自動的に完了として設定する方法を共有しました。 お支払い方法や仮想商品に基づいて行っております。

ただし、ストアに必要な要件に応じて、最初のコードスニペットを使用して、注文ステータスを完了としてマークする条件をさらに追加できます。 たとえば、支払いが行われた場合、仮想製品であるかどうかを確認した後に支払い方法にチェックを追加することで、非仮想製品でも注文ステータスを完了としてマークできます。

ただし、このコードスニペットでは、注文のすべての商品が仮想商品である場合にのみ、注文のステータスが完了として設定されます。 この投稿が、WooCommerceで注文を自動的に承認するためのソリューションを提供することを願っています。

同様の記事