- +7(962)141-55-43
- @wpprog
- emel8881
- serj-post@mail.ru
Иногда нужно отключить способ доставки при определенном условии.
Ниже разобран пример, где отключаются виды доставки при достижении общего веса товара в корзине в количестве 25.
// отключаем некоторые виды доставки, если вес товара больше 25
add_filter( 'woocommerce_package_rates', 'esa_shipping_by_weight', 25, 2 );
function esa_shipping_by_weight( $rates, $package ) {
// вес товаров в корзине
$cart_weight = WC()->cart->cart_contents_weight;
// отключаем способ доставки, если вес больше 25
if ( $cart_weight > 25 ) {
unset( $rates[ 'dpd_shops_ee' ],
$rates[ 'flat_rate:4' ],
$rates[ 'smartpost_estonia' ],
$rates[ 'omniva_parcel_machines_ee' ]);
}
return $rates;
}
Как же узнать способы доставки, чтобы их отключить? Очень просто: в коде страницы нужно найти значение параметра VALUE вида доставки:
Затем в товаре проставляем нужное значение: