...
1)あなたは「定額」方式のため1
の量を設定するために、各出荷ゾーンのWooCommerce出荷設定で最初に必要になります。
この金額は、20€
1から11個のアイテムに、30€
から12個以上のアイテムに変更されます。この金額はカートの合計金額の10%減額されます。そして、woocommerce_package_rates
フィルターフックに引っかけカスタム関数を使用して
2)は、あなたがカートのアイテム数に及びカートの合計に基づいて、郵送料の割引を行うことができるようになります。ここで
はそのコードです:
add_filter('woocommerce_package_rates', 'custom_package_rates', 10, 2);
function custom_package_rates($rates, $packages) {
if (is_admin() && ! defined('DOING_AJAX')) return;
// Get some cart data and set variable values
$cart_count = WC()->cart->get_cart_contents_count();
$cart_total = WC()->cart->cart_contents_total;
$cart_10_percent = $cart_total * 0.1;
$flat_rate_value = 20; // Default "Flat rate" value
foreach($rates as $rate_key => $rate_values) {
$method_id = $rate_values->method_id;
$rate_id = $rate_values->id;
if($method_id == 'flat_rate'){
if($cart_count < 6)
$cart_10_percent = 0; // No percent discount
elseif($cart_count >= 12)
$flat_rate_value = 30; // "Flat rate" value for 12 or more items
$rate_cost = $flat_rate_value > $cart_10_percent ? $flat_rate_value - $cart_10_percent : 0;
// Set the new calculated rate cost
$rates[$rate_id]->cost = number_format($rates[$rate_id]->cost * $rate_cost, 2);
// Taxes rate cost (if enabled)
$taxes = array();
foreach ($rates[$rate_id]->taxes as $key => $tax){
if($tax > 0){ // set the new tax cost
// set the discounted tax cost
$taxes[$key] = number_format($tax * $rate_cost, 2);
}
}
$rates[$rate_id]->taxes = $taxes;
}
}
return $rates;
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルやも任意のプラグインファイルになります。
WooCommerce 3で動作確認済みです。
(時には必要)出荷キャッシュを更新:まず、あなたのカートを空にする
1)。
2)このコードは、あなたのfunction.phpファイルに既に保存されています。
3)送料ゾーンの設定で、「定額」(たとえば)と「保存」のいずれかを無効にします。その後、その「定額」と「保存」を再度有効にします。 これで完了です。テストすることができます。
このプラグインは、出荷時に提供される割引にはかなり柔軟です。 https://codecanyon.net/item/woocommerce-dynamic-pricing-discounts/7119279 –