WooCommerceでは、カート商品数に基づいて異なる送料を設定しようとしています。追加商品の別の送料を追加するには
例:
- 1アイテム$ 5
- 2アイテム$ 5 + $ 2
- 3項目$ 5 +(2×2 $)...にとそう...
だから最初のアイテムは5ドルのコストを設定し、すべての追加アイテムはそれぞれ2ドルを追加します。
これは可能ですか?
WooCommerceでは、カート商品数に基づいて異なる送料を設定しようとしています。追加商品の別の送料を追加するには
例:
だから最初のアイテムは5ドルのコストを設定し、すべての追加アイテムはそれぞれ2ドルを追加します。
これは可能ですか?
更新 - 2つのステップ:
1)は、カート項目に基づいて、あなたの船積みの計算コストを行います。このコードを追加します(品目の合計数量をを数える):
add_filter('woocommerce_package_rates', 'progressive_flat_rate_cost_calculation', 10, 2);
function progressive_flat_rate_cost_calculation($rates, $package)
{
// The cart count (total items in cart)
$cart_count = WC()->cart->get_cart_contents_count();
$taxes = array();
$cost = 5; // Cost for the 1st item
$other = 2; // Cost for additional items
// Calculation
if($cart_count > 1)
$cost += ($cart_count - 1) * $other;
// Iterating through each shipping rate
foreach($rates as $rate_key => $rate_values){
$method_id = $rate_values->method_id;
$rate_id = $rate_values->id;
// Targeting "Flat Rate" shipping method
if ('flat_rate' === $method_id) {
// Set the new calculated rate cost
$rates[$rate_id]->cost = number_format($rates[$rate_id]->cost * $cost, 2);
// Taxes rate cost (if enabled)
foreach ($rates[$rate_id]->taxes as $key => $tax){
if($rates[$rate_id]->taxes[$key] > 0){ // set the new tax cost
$taxes[$key] = number_format($rates[$rate_id]->taxes[$key] * $cost, 2);
$has_taxes = true;
} else {
$has_taxes = false;
}
}
if($has_taxes)
$rates[$rate_id]->taxes = $taxes;
}
}
return $rates;
}
コードはあなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイル、またはすべてのプラグインファイルにあります。
2)さて、一般的な出荷設定では、コストは()あなたのWooCommerce出荷設定で1
に設定される各配送ゾーンの「定額」配送方法を設定する必要があります。 、保存し、各フラットレートを無効に
、この定額をバック有効にして保存します。
ときには(woocommerce出荷各ゾーンの設定で)出荷ゾーンキャッシュをリフレッシュする必要があります。
は、新鮮な新しいカート(試験前のそれので空)
このコードは3+ WooCommerce上でテストされた上で起動するより良いですし、作品
それが唯一のフラットレートを設定することによって行うことができ...コードは不要です。
だけ--- ...コストで
は、このルールを記述
5 + 2 *([数量] - 1)定額出荷を有効
を