2017-07-01 21 views
4

WooCommerceでは、カート内のアイテムの総数に基づいてカート割引を設定するにはどうすればよいですか?例えばWooCommerceカート数量ベース割引

  • 1〜4項目 - ない割引
  • 5~10アイテム - 5%
  • 11〜15項目 - 10%
  • 16〜20項目 - 15%
  • 21〜25項目 - 20%
  • 26〜30項目 - 25%

私はインターネットを検索しましたが、利用可能なソリューションやプラグインは見つかりませんでした。

ありがとうございました。

答えて

3

マイナスカート料金を使用して割引を利用することができます。そして、あなたはwoocommerce_cart_calculate_feesアクションフックに引っかけAカスタム関数にあなたの条件&計算を追加します、この方法:

## Tested and works on WooCommerce 2.6.x and 3.0+ 
add_action('woocommerce_cart_calculate_fees','wc_cart_quantity_discount', 10, 1); 
function wc_cart_quantity_discount($cart_object) { 
    if (is_admin() && ! defined('DOING_AJAX')) 
     return; 

    ## -------------- DEFINIG VARIABLES ------------- ## 
    $discount = 0; 
    $cart_item_count = $cart_object->get_cart_contents_count(); 
    $cart_total_excl_tax = $cart_object->subtotal_ex_tax; 

    ## ----------- CONDITIONAL PERCENTAGE ----------- ## 
    if($cart_item_count <= 4) 
     $percent = 0; 
    elseif($cart_item_count >= 5 && $cart_item_count <= 10) 
     $percent = 5; 
    elseif($cart_item_count > 10 && $cart_item_count <= 15) 
     $percent = 10; 
    elseif($cart_item_count > 15 && $cart_item_count <= 20) 
     $percent = 15; 
    elseif($cart_item_count > 20 && $cart_item_count <= 25) 
     $percent = 20; 
    elseif($cart_item_count > 25) 
     $percent = 25; 


    ## ------------------ CALCULATION ---------------- ## 
    $discount -= ($cart_total_excl_tax/100) * $percent; 

    ## ---- APPLYING CALCULATED DISCOUNT TAXABLE ---- ## 
    if($percent > 0) 
     $cart_object->add_fee(__("Quantity discount $percent%", "woocommerce"), $discount, true); 
} 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルになったりもで任意のプラグインファイル。

WooCommerce 2.6.xおよび3.0+で動作確認済み

関連する問題