@Muvka

Как запустить функцию фильтра woocommerce_package_rates?

Мне надо, чтобы методы доставки пересчитывались каждый раз, когда я меняю "Доставка" на "Самовывоз" и обратно. Но простого update_checkout для этого недостаточно. Пересчет идет, если товары в корзине поменять. Подскажите, как активировать.
function filter_package_rates($rates, $package) {
  $shipping_type = WC()->session->get('shipping_type');
  $methods = array();

  foreach($rates as $rate_id => $rate) {
    if($shipping_type === $rate->method_id || ($shipping_type === 'flat_rate' && $rate->method_id === 'free_shipping')) {
      $methods[$rate_id] = $rate;
    }
  }
  
  return !empty($methods) ? $methods : $rates;
}
add_filter('woocommerce_package_rates', 'filter_package_rates', 10, 2);

Вот тут фильтрую методы.
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы