Я использую следующую функцию для включения доставки по весу в woocommerce.Например, когда общий вес в корзине меньше, чем 15,84, должен быть активирован метод доставки flat_rate: 5, а другие методы становятся неустановленными.
Тем не менее, я должен написать все методы, которые будут сбрасываться отдельно.Как изменить команду unset, чтобы сбросить все методы доставки, которые не являются flat_rate: 5?
add_filter( 'woocommerce_package_rates', 'bbloomer_woocommerce_tiered_shipping', 10, 2 );
function bbloomer_woocommerce_tiered_shipping( $rates, $package ) {
if ( WC()->cart->cart_contents_weight < 15.84 ) {
if ( isset( $rates['flat_rate:5'] ) ) unset( $rates['flat_rate:6'], $rates['flat_rate:8'] );
} elseif ( WC()->cart->cart_contents_weight < 72 ) {
if ( isset( $rates['flat_rate:5'] ) ) unset( $rates['flat_rate:5'], $rates['flat_rate:8'] );
} elseif ( WC()->cart->cart_contents_weight < 144 ) {
if ( isset( $rates['flat_rate:5'] ) ) unset( $rates['flat_rate:5'], $rates['flat_rate:8'] );
} elseif {
if ( isset( $rates['flat_rate:5'] ) ) unset( $rates['flat_rate:5'], $rates['flat_rate:6'] );
}
return $rates;
}