С помощью следующего кода вы сможете получить эту стоимость доставки:
- 1 или 2 товара: 120
- 3 товара: 180
- 4 товара или более: бесплатная доставкаметод оценки)
1) Добавьте следующий код в файл function.php вашей активной дочерней темы (активной темы):
add_filter('woocommerce_package_rates', 'custom_progressive_shipping_costs', 10, 2);
function custom_progressive_shipping_costs( $rates, $package ){
$items_count = WC()->cart->get_cart_contents_count();
if( $items_count < 3 ){
$cost_rate = 2;
} else {
$cost_rate = $items_count;
}
foreach ( $rates as $rate_key => $rate ){
$taxes = [];
$has_taxes = false;
// Targeting "flat rate"
if ( 'flat_rate' === $rate->method_id ) {
// For 1, 2 or 3 items
if ( $items_count <= 3 ) {
$rates[$rate_key]->cost = $rate->cost * $cost_rate;
// Taxes rate cost (if enabled)
foreach ($rates[$rate_key]->taxes as $key => $tax){
if( $tax > 0 ){
$has_taxes = true;
$taxes[$key] = $tax * $cost_rate;
}
}
if( $has_taxes )
$rates[$rate_key]->taxes = $taxes;
}
// For more than 3 hide Flat rate
else {
// remove flat rate method
unset($rates[$rate_key]);
}
}
}
return $rates;
}
И сохраните…
2) В настройках метода доставки, , вам нужно будет установить 60
в качестве вашей «фиксированной ставки» и СОХРАНИТЬ.
Вам необходимо сохранить минимальную сумму для метода "Бесплатная доставка".
Все готово.Проверено и работает.