WooCommerce製品をクーポンから除外する方法

公開: 2021-11-02

割引コードをより効率的に使用する方法をお探しですか? 私たちはあなたのために何かを持っています。 このガイドでは、WooCommerce製品をクーポンから除外して、割引が適用されないようにするさまざまな方法を紹介します。

ブラックフライデーとクリスマスが近づいている今、多くのオンラインストアがお得な情報やプロモーションを提供し始めています。 割引クーポンを設定してオンラインで共有するときは、それらが利益を大幅に低下させないようにする必要があります。 売上が25%増加しても、売上あたりの利益が50%減少する場合は、割引を提供しない方がよいでしょう。

より多くの売上と売上あたりの利益の間の適切なバランスを見つけることは必ずしも簡単ではありません。 そのための最良の方法の1つは、特定の製品を割引なしで維持することです。 フックなどの特定の割引商品を使用して、割引のない他の商品で顧客をアップセルすることができます。

このガイドでは、WooCommerce製品をクーポンから除外するさまざまな方法を紹介します。そのため、割引は適用されません。

クーポンから製品を除外する理由

割引クーポンの使用は、多くのWooCommerceストアが売り上げを伸ばすために使用する一般的なマーケティング戦略です。 賢く使用すれば、割引はオンラインビジネスにとって有益です。 ただし、正しく適用されておらず、売上の増加が少なくとも値下げと等しくない場合は、収益が減少する可能性もあります。

さらに、カタログが大きくなると、顧客が利用する可能性のある抜け穴の可能性もあります。 たとえば、すでに割引が適用されているバンドル製品に割引を適用したくない場合があります。 同様に、顧客がすでにマージンが薄い製品の割引を使用すると、お金を失うことになりかねません。

そのため、特定のWooCommerce製品を割引クーポンから除外することをお勧めします。 このようにして、それらの特定の製品がそれらの影響を受けないことを確認しながら、必要な数の割引クーポンとコードを作成できます。

その方法と、製品を割引から除外するために使用できるツールの種類を見てみましょう。

WooCommerce製品をクーポンから除外する方法

WooCommerce製品を割引クーポンから除外する主な方法は2つあります。

  1. デフォルトのWooCommerceオプションを使用
  2. プログラムで

各オプションについて詳しく見ていきましょう。

1)デフォルトのWooCommerceオプションを使用してクーポンからWooCommerce製品を除外する

WooCommerceには、特定の製品やカテゴリの特定のクーポンを無効にするオプションがあります。 これらのオプションにアクセスするには、 WordPress管理ダッシュボード[WooCommerce]> [クーポン]に移動します。

次に、クーポンの下にある[編集]をクリックして、除外するクーポンを開きます。 次に、下にスクロールして[使用制限]タブに移動します

クーポンからwoocommerce製品を除外する-クーポンタブ

ここでは、 [商品除外]および[カテゴリを除外]オプションを使用して、この特定のクーポンから特定の商品を除外できます。 [製品を除外]フィールドに製品名を入力するか、 [カテゴリを除外]フィールドに製品カテゴリを入力するだけです。 たとえば、製品15と製品バンドルに割引を適用したくない場合は、次のようにします。

クーポンからwoocommerce製品を除外する-クーポンの制限

現在、この特定のクーポンはこれらの製品には適用されません。 ただし、他のクーポンでこのプロセスを繰り返さない限り、そのアイテムに適用される他のすべてのクーポンは機能することに注意してください。

クーポンからwoocommerce製品を除外する-除外された製品

クーポンがたくさんある場合は、1つずつ移動して除外する商品を追加する必要があるため、このプロセスには時間がかかる可能性があります。 良いニュースは、少しのコードでそれを行うためのより効率的な方法があるということです。 プログラムですべてのクーポンからWooCommerce製品を除外する方法を見てみましょう。

2)プログラムでクーポンからWooCommerce製品を除外する

プログラムでWooCommerce製品を割引クーポンから除外することもできます。 この方法の利点は、割引が特定のアイテムに適用されないようにするための多くの柔軟性を提供することです。 たとえば、クーポンの特定の商品IDを無効にしたり、WooCommerceの商品データオプションにチェックボックスを追加したりできます。

これらのオプションのいくつかを有効にする方法を見てみましょう。

:いくつかのコアファイルを編集するため、開始する前に、サイトのバックアップを作成し、子テーマをまだインストールしていない場合はインストールすることをお勧めします。

2.1)製品IDを使用してクーポンからWooCommerce製品を除外する

WooCommerce製品をクーポンから除外する最も簡単な方法の1つは、クーポンが特定の製品IDに対して機能しないようにするコードスニペットを追加することです。

これを行うには、最初に製品IDを見つける必要があります。 これを行うには、 WordPress管理ダッシュボードを開き、[製品]に移動すると、すべてのWooCommerce製品のリストが表示されます。 割引を適用したくない商品にカーソルを合わせると、商品IDが表示されます。

クーポンからwoocommerce製品を除外する-製品ID

次の手順で必要になるので、書き留めて、どこかに置いておきます。

その後、 [外観]> [テーマエディター]に移動して、テーマ関数ファイルを開きます 次に、右側のテーマファイルサイドバーを使用して、 functions.phpファイルを開きます。

クーポンからwoocommerce製品を除外する-テーマエディター機能

次のコードスニペットをファイルに追加しますが、 PRODUCT_IDを除外する製品の対応するIDに置き換えることを忘れないでください。

 add_filter( 'woocommerce_coupon_is_valid_for_product'、 'quadlayers_exclude_product_from_product_promotions'、9999、4);
function quadlayers_exclude_product_from_product_promotions($ valid、$ product、$クーポン、$ values){
//製品IDを交換します(EG 145)
if(PRODUCT_ID == $ product-> get_id()){
$ valid = false;
}
$ validを返します。
}

このコードは、指定した製品IDを割引から除外します。 たとえば、この場合、製品IDは145であるため、コードスニペットは次のようになります。

 add_filter( 'woocommerce_coupon_is_valid_for_product'、 'quadlayers_exclude_product_from_product_promotions'、9999、4);
function quadlayers_exclude_product_from_product_promotions($ valid、$ product、$クーポン、$ values){
//製品ID = 145
if(145 == $ product-> get_id()){
$ valid = false;
}
$ validを返します。
} 

それでおしまい! 指定した商品はすべてのクーポンから除外されます。 詳細については、このサイトをチェックしてください。

2.2)セール中のWooCommerce製品を割引クーポンから除外する

もう1つの興味深いオプションは、クーポンコードからすでに割引が適用されている製品を除外することです。 たとえば、すでに販売されている製品がある場合は、スクリプトを追加して、追加の割引を受けないようにすることができます。 これは、店舗で販売促進を行っていて、販売中のどの商品にも割引が適用されないようにする場合に非常に便利です。

このプロセスは、上記のプロセスと同様です。 管理ダッシュボードの[外観]> [テーマエディター]に移動し、右側のテーマファイルのサイドバーにあるfunctions.phpファイルを開きます。 次に、次のスクリプトを貼り付けて、すでに販売されているすべての製品を割引から除外します。

 add_filter( 'xa_pbu_skip_product_on_sale'、 'ql_skip_product_on_sale_from_discount'、1,2);
関数ql_skip_product_on_sale_from_discount($ return_val、$ pid){ 
$ sale_price = get_post_meta($ pid、 '_ sale_price'、true); 
if(!empty($ sale_price)){
trueを返します。 // trueの場合はこの製品を除外します
}
$ return_valを返します。
} 

クーポンからwoocommerce製品を除外する-販売で除外された製品

または、次のコードを使用して、すでに販売されている特定の製品をクーポンから除外することもできます。 製品IDを自分のIDに置き換えるだけです。

 add_filter( 'xa_pbu_skip_product'、 'ql_skip_product_from_discount'、1,2);
関数ql_skip_product_from_discount($ return_val、$ pid){
$ pid_to_skip = array(PRODUCT ID); //除外する製品ID
if(in_array($ pid、$ pid_to_skip)){
trueを返します。 // trueの場合はこの製品を除外します
}
$ return_valを返します。
}

複数の商品を追加する場合は、必要な数だけ追加し、カンマで区切ります。 詳細については、こちらをご覧ください。

プログラムでクーポンからWooCommerce製品を除外するオプションを追加する

これがあなたが頻繁に行うかもしれないことだと思うなら、毎回上記のプロセスを行うことは最も快適なことではないかもしれません。 その場合、より効率的なオプションがあります。 バックエンドにチェックボックスを追加し、製品ごとに個別にクーポンを無効にできるカスタム関数を追加できます。

このスニペットをすべてのアイテムに追加するだけで、後でクーポンから除外するWooCommerce製品と時期を決定できます。 これは興味深いオプションです。functions.phpファイルにスクリプトを追加したり削除したりする代わりに、チェックボックスを選択または選択解除することで、そのオプションを動的にすることができるからです。

これを行うには、管理ダッシュボードで[外観]> [テーマエディター]に移動し、テーマファイルサイドバーでfunctions.phpファイルを開きます。

クーポンからwoocommerce製品を除外する-テーマエディター機能

次に、このコードをエディターに貼り付けます。

 // [製品の一般設定]タブでカスタムフィールドを作成します
add_action( 'woocommerce_product_options_general_product_data'、 'ql_add_custom_field_general_product_fields');
関数ql_add_custom_field_general_product_fields(){
グローバル$ post;

echo '<div class = "product_custom_field">';

//カスタム製品チェックボックスフィールド
woocommerce_wp_checkbox(array(
'id' => '_ disabled_for_coupons'、
'label' => __( 'クーポンの無効化'、 'woocommerce')、
'description' => __( 'この商品をクーポン割引から無効にする'、 'woocommerce')、
'desc_tip' => 'true'、
));

エコー '</ div>' ;;
}

//カスタムフィールドを保存し、WP設定で除外されたすべての製品IDを更新します
add_action( 'woocommerce_process_product_meta'、 'ql_save_custom_field_general_product_fields'、10、1);
関数ql_save_custom_field_general_product_fields($ post_id){

$ current_disabled = isset($ _POST ['_ disabled_for_coupons'])? 'はい・いいえ';

$ disable_products = get_option( '_ products_disabled_for_coupons');
if(empty($ disabled_products)){
if($ current_disabled == 'yes')
$ disable_products = array($ post_id);
} それ以外 {
if($ current_disabled == 'yes'){
$ disable_products [] = $ post_id;
$ disabled_products = array_unique($ disabled_products);
} それ以外 {
if(($ key = array_search($ post_id、$ disable_products))!== false)
unset($ disabled_products [$ key]);
}
}

update_post_meta($ post_id、 '_ disabled_for_coupons'、$ current_disabled);
update_option( '_ products_disabled_for_coupons'、$ disabled_products);
}

//クーポンを商品レベルで無効にする
add_filter( 'woocommerce_coupon_is_valid_for_product'、 'set_coupon_validity_for_excluded_products'、12、4);
function set_coupon_validity_for_excluded_products($ valid、$ product、$クーポン、$ values){
if(!count(get_option( '_ products_disabled_for_coupons'))> 0)return $ valid;

$ disable_products = get_option( '_ products_disabled_for_coupons');
if(in_array($ product-> get_id()、$ disable_products))
$ valid = false;

$ validを返します。
}

//製品の割引額をゼロに設定します
add_filter( 'woocommerce_coupon_get_discount_amount'、 'zero_discount_for_excluded_products'、12、5);
function zero_discount_for_excluded_products($ discount、$ discount_amount、$ cart_item、$ single、$ cupon){
if(!count(get_option( '_ products_disabled_for_coupons'))> 0)return $ discount;

$ disable_products = get_option( '_ products_disabled_for_coupons');
if(in_array($ cart_item ['product_id']、$ disable_products))
$ discount = 0;

$ discountを返します。
} 

クーポンからwoocommerce製品を除外する-除外された製品スタック

その後、ファイルを更新します。 次に、追加したカスタムチェックボックスの使用方法を見てみましょう。

関数とクーポンの無効化オプションの使用

[商品]セクションに移動し、クーポンから除外する商品を開きます。 製品データの[全般]タブに、クーポンの[無効]という新しいオプションが表示されます。

このオプションを有効にすると、このWooCommerce製品が割引クーポンから除外されます。 その後、チェックを外すと、このアイテムに再び割引が適用されます。 変更を保存し、フロントエンドをチェックして、すべてが期待どおりに機能することを確認してください。

結論

全体として、割引から特定のアイテムを除外することは、取引を提供する場合でも収益を最大化するための良い代替手段です。 たとえば、マージンがすでに非常に薄いか、すでに割引が適用されているため、特定の製品には割引を適用したいが、他の製品には適用したくない場合があります。

このガイドでは、WooCommerce製品をスキップしてクーポンから除外するさまざまな方法を見てきました。

  • WooCommerceのデフォルトオプションの使用
  • 個々の商品、すべての商品、または商品IDを使用して販売されている商品のみをプログラムで除外する
  • 特定の製品のクーポンを無効にするオプションをバックエンドに含めるカスタムスクリプトを追加する

これらの手順についてご不明な点がございましたら、下のコメントセクションでお知らせください。できる限りサポートさせていただきます。

最後に、割引を設定するための追加の方法とそれらを使用するための最良の方法を探している場合は、次のガイドを確認することをお勧めします。

  • WooCommerceクーポンを自動的に適用する方法
  • WooCommerceクーポンを作成および設定する方法
  • WooCommerceクーポンの作成と適用:完全ガイド