チェックアウト無料アイテムストアフロントテーマを簡素化する方法

公開: 2020-11-03

ストアフロントはチェックアウト無料アイテムを簡素化します ほとんどのWooCommerceストアでは、顧客はチェックアウトに進んだ後、商品を購入して支払いを送金します。 さらに、配送方法を選択するか、クーポンコードを入力して割引を受けます。

ただし、ストアで無料のアイテムを提供している場合は、チェックアウト時にすべてのフィールドが必要になるとは限りません。 これは、送料を徴収しないことを意味します。 その結果、請求の詳細は必要なく、名前だけで、おそらく電子メールも必要ない場合があります。

ストアフロントはチェックアウト無料アイテムを簡素化します

WooCommerceは、無料チェックアウトの支払い方法の選択を削除するのに役立ちます。 ただし、請求フィールドは引き続き存在し、注文する必要があります。 支払明細

無料メンバーシップなどの無料の仮想製品を販売する場合は、チェックアウトプロセスを簡素化するのが最善です。

この問題が発生している場合は、WC()-> cart-> needs_payment()チェックを使用して、チェックアウトに費用がかからないかどうかを簡単に確認できます。 これを使用して、支払いが不要な場合に無料のWooCommerceチェックアウトを簡素化するためのいくつかのアクションを実行する方法を説明します。 一部の請求フィールドを条件付きで削除する必要があります。

無料のチェックアウトを簡素化し、使用可能なスニペットにまとめるために実行できるいくつかの手順を説明します。

無料アイテムのチェックアウトを簡素化する手順

  1. クーポンフォームを削除する

無料のチェックアウトをご希望の場合は、割引がないため、クーポンフォームは必要ありません。 私が使用します ! 小切手としてのWC()-> cart-> needs_payment()。これにより、チェックアウトの合計が$ 0であると想定されるため、送料や注文の支払いは必要ありません。 クーポン入力を安全に削除するには、次のコードを使用する必要があります。

 //無料カートのクーポンが必要ない場合は、クーポンフォームを削除します

remove_action( 'woocommerce_before_checkout_form'、 'woocommerce_checkout_coupon_form'、10);
  1. 注文メモを無効にする

無料注文の注文メモを収集することをお勧めします。 ただし、私たちがやろうとしている主なことは、WooCommerceストアの顧客のチェックアウトプロセスを簡素化することです。 チェックアウトの「追加情報」セクション全体を削除します。 これは、woocommerce_enable_order_notes_fieldフィルターを使用して実行できます。これはfalseに設定できるため、注文メモはありません。

 //「追加情報」の注文メモを削除します

add_filter( 'woocommerce_enable_order_notes_field'、 '__ return_false');
  1. 不要なフィールドの設定を解除する

無料注文なので、クレジットカードに請求する必要はありません。 チェックアウトのほとんどの請求フィールドは必要ありません。 これは、不要な購入フィールドの設定を解除する必要があることを意味します。 チェックアウトフィールドのリストは、WooCommerceのドキュメントにあります。

 //無料のチェックアウトで不要なフィールドの設定を解除します

function unset_unwanted_checkout_fields($ fields){

//削除する請求フィールドキーのリスト

$ billing_keys = array(

'billing_company'、

'課金電話'、

'請求先住所1'、

'billing_address_2'、

'billing_city'、

'billing_postcode'、

'billing_country'、

'billing_state'、

);

//これらの不要なフィールドのそれぞれの設定を解除します

foreach($ billing_keys as $ key){

unset($ fields ['billing'] [$ key]);

}

$ fieldsを返します。

}

add_filter( 'woocommerce_checkout_fields'、 'unset_unwanted_checkout_fields');

ただし、チェックアウトフォームから削除するフィールドを選択できます。

  1. コードの追加

Storefrontテーマのfunctions.phpファイルにコードを追加する手順は次のとおりです。

  1. WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
  2. [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、テーマ関数ファイルを探して、無料のアイテムのチェックアウトを簡素化します。
  3. 次のコードを関数に追加します。 php
 / **

 *チェックアウトで支払いが必要ない場合は、クーポンフォーム、注文メモ、およびいくつかの請求フィールドを削除します。

 *

 * PHP5.3以降が必要です

 *

  * /

関数sv_free_checkout_fields(){

            //まず、一般的なWPフックにフックされているため、WCがアクティブでない場合は保釈します

            if(!function_exists( 'WC')){

                        戻る;

            }

            //カートに支払いが必要な場合は保釈し、何もしたくない

            if(WC()-> cart && WC()-> cart-> needs_payment()){

                        戻る;

            }

            //チェックアウト時のみ続行するようになりました

            // is_checkout()はajaxコンテキストでWC 3.2の時点で壊れていました、is_ajaxを再確認してください

            // WOOCOMMERCE_CHECKOUTをチェックしますが、テストの結果、確実に設定されていないことがわかりました

            if(function_exists( 'is_checkout')&&(is_checkout()|| is_ajax())){

                        //無料カートのクーポンが必要な理由から、クーポンフォームを削除しますか?

                        remove_action( 'woocommerce_before_checkout_form'、 'woocommerce_checkout_coupon_form'、10);

                        //「追加情報」の注文メモを削除します

                        add_filter( 'woocommerce_enable_order_notes_field'、 '__ return_false');

                        //無料のチェックアウトで不要なフィールドの設定を解除します

                        add_filter( 'woocommerce_checkout_fields'、function($ fields){

                                    //不要な請求フィールドを追加または削除します

                                    //フィールド:http://docs.woothemes.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/#section-2

                                    $ billing_keys = array(

                                                'billing_company'、

                                                '課金電話'、

                                                '請求先住所1'、

                                                'billing_address_2'、

                                                'billing_city'、

                                                'billing_postcode'、

                                                'billing_country'、

                                                'billing_state'、

                                    );

                                    //これらの不要なフィールドのそれぞれの設定を解除します

                                    foreach($ billing_keys as $ key){

                                                unset($ fields ['billing'] [$ key]);

                                    }

                                    $ fieldsを返します。

                        });

            }

}

add_action( 'wp'、 'sv_free_checkout_fields');
  1. コード全体を追加すると、WooCommerceのチェックアウトが簡略化されます。 簡素化されたチェックアウト

結論

要約すると、チェックアウトプロセスを簡素化する手順を説明しました。 コードを理解できるように、手順を詳しく説明しました。 ただし、この記事では、アクティブなテーマのfunction.phpファイルで行うことができるコードの変更またはスニペットを取り上げていることに注意する必要があります。 このタスクに慣れていない場合は、WordPress開発者を雇ってください。

同様の記事