Unset методы доставки, основанные на весе в WooCommerce - PullRequest
0 голосов
/ 19 января 2019

Я использую следующую функцию для включения доставки по весу в 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;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...