WP-prog

Как отключить способ доставки WooCommerce при большом весе товара

Иногда нужно отключить способ доставки при определенном условии.

Ниже разобран пример, где отключаются виды доставки при достижении общего веса товара в корзине в количестве 25.

PHP-код
				
					// отключаем некоторые виды доставки, если вес товара больше 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 вида доставки:

Затем в товаре проставляем нужное значение:

Если у Вас есть какие-либо вопросы, оставьте свой комментарий:

Добавить комментарий

Ваш адрес email не будет опубликован.