Woocommerce – пользовательские функции запускаются только в корзине обновленийPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Woocommerce – пользовательские функции запускаются только в корзине обновлений

Сообщение Anonymous »

Я написал очень небольшую функцию, позволяющую отключить установку как метод (из плагина доставки таблицы ставок), если продукта нет в корзине или если количество этого продукта в корзине меньше 6.
Это работает, но только когда я нажимаю кнопку «обновить корзину», а не, например, когда я нажимаю на корзину.

вот функция, прямо из моего файла function.php в моем пользовательском тема:

Код: Выделить всё

function disable_installation_for_less_than( $rates ) {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$installation =  $rates['table_rate_shipping_installation'];

foreach ( $items as $item => $values ) {
$productID       = $values['product_id'];
$productQuantity = $values['quantity'];
unset( $rates['table_rate_shipping_installation'] );

if ( $productID == 2412 ) {
if ( $productQuantity < 6 ) {
unset( $rates['table_rate_shipping_installation'] );
} else {
array_push($rates, $installation);
}
}
}

return $rates;
}

add_filter( 'woocommerce_package_rates', 'disable_installation_for_less_than', 10, 3 );
Есть идеи, почему? я использую неправильный перехват?
Спасибо за любую помощь

Кроме того, вместо того, чтобы отменять установку и переустанавливать ее только при необходимости, есть ли лучший способ сказать «если этого товара НЕТ в корзине», удалить это?

спасибо

Подробнее здесь: https://stackoverflow.com/questions/411 ... pdate-cart
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»