Я пытаюсь отключить способ доставки, если в корзине указан определенный класс доставки. Я использую новейшую версию woocommerce.
Ниже приведен мой код для моей задачи.
Он расположен в конце моего файла function.php моей темы. .
К сожалению, это не работает.
add_filter( 'woocommerce_package_rates', 'businessbloomer_hide_free_shipping_for_shipping_class', 10, 2 );
function businessbloomer_hide_free_shipping_for_shipping_class( $rates, $package ) {
$shipping_class_target = 513; // ID OF MY SHIPPING_CLASS
$in_cart = false;
foreach( WC()->cart->cart_contents as $key => $values ) {
if( $values[ 'data' ]->get_shipping_class_id() == $shipping_class_target ) {
$in_cart = true;
break;
}
}
if( $in_cart ) {
unset( $rates['flat_rate:2'] ); //VALUE:ID OF MY SHIPPING METHOD
}
return $rates;
}
Подробнее здесь: https://stackoverflow.com/questions/455 ... ping-class
Отключить метод доставки, если товар в корзине имеет определенный класс доставки? ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение