Ошибка woocommerce: Пожалуйста, введите адрес для продолжения

Главная / Wordpress / Ошибка woocommerce: Пожалуйста, введите адрес для продолжения

Выяснилось, что в последних версиях Wocommerce нельзя убирать поле «Страна». Поэтому либо его надо вернуть, либо убирать программно. Нашла следующее решение:

Чтобы исправить ошибку нужно чтобы передавалось поле страны доставки\или страны платёжного адреса. Простое удаление полей страны в хуке woocommerce_checkout_fields не поможет(в последних версия woocommerce), т.к. эта ошибка выдаётся не на этапе проверок конкретного поля, а валидации checkout в целом(если включены методы доставки, то страна доставки не может быть пустой). Можно как предложил комментатор выше, просто скрыть поле страны через css, а можно убрать поле программно и устанавливать значение страны вручную. Так или иначе, всё это грязные хаки.

// Программно устанавливаем страну
function carrie_customer_default_shipping_country($value, $customer) {
    $value = !empty($value) ? $value : 'RU';
    return $value;
}
add_filter('woocommerce_customer_get_shipping_country', 'carrie_customer_default_shipping_country', 10, 2);

// убираем поле страны из формы
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); 
function custom_override_checkout_fields( $fields ) {
  unset($fields['billing']['billing_country']); // Отключаем страны оплаты
  unset($fields['shipping']['shipping_country']);// Отключаем страны доставки
  return $fields;
}

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *