• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Как сделать выпадающий список выбора области ?

dsqwared

Новичок
Здравствуйте. перешерстил весь интернет уже, почему-то никому кроме меня по ходу это не надо.

Хочу сделать выпадающий список на странице оформления заказа, для поля выбора области "billing_state" и соответственно для "shipping_state"

делаю так
Код:
add_filter( 'woocommerce_checkout_fields' , 'update_fields' );
function update_fields( $fields ) {

$fields['billing']['billing_state'] = array(
'label'     => __('State / county', 'woocommerce'),
'placeholder'   => _x('State/County', 'placeholder', 'woocommerce'),
'required'    => false,
'public'      => true,
'clear'       => false,
'type'        => 'select',
'class'       => array('form-row-first', 'address-field', 'validate-state', 'lidate-required', 'woocommerce-validated'),
'options'     => array(
  'option_1' => 'Текст опции 1',
  'option_2' => 'Текст опции 2'
  )
);

return $fields;
}

но такой-же код для полей billing_city и shipping_city благополучно работает.

Подскажите плз, что не так делаю???
 

obelix13

Новичок
Здравствуйте. перешерстил весь интернет уже, почему-то никому кроме меня по ходу это не надо.

Хочу сделать выпадающий список на странице оформления заказа, для поля выбора области "billing_state" и соответственно для "shipping_state"

делаю так
Код:
add_filter( 'woocommerce_checkout_fields' , 'update_fields' );
function update_fields( $fields ) {

$fields['billing']['billing_state'] = array(
'label'     => __('State / county', 'woocommerce'),
'placeholder'   => _x('State/County', 'placeholder', 'woocommerce'),
'required'    => false,
'public'      => true,
'clear'       => false,
'type'        => 'select',
'class'       => array('form-row-first', 'address-field', 'validate-state', 'lidate-required', 'woocommerce-validated'),
'options'     => array(
  'option_1' => 'Текст опции 1',
  'option_2' => 'Текст опции 2'
  )
);

return $fields;
}

но такой-же код для полей billing_city и shipping_city благополучно работает.

Подскажите плз, что не так делаю???
У вас получилось разгадать эту загадку?
 

artemkomarov

Специалист
Местный
Если вдруг кому то нужно то вот. Предупреждаю что это влияет и на выбор региона в зонах доставки и в принципе на сохраненное поле области и если сохраненное поле не соответствует опции в выборе то оно просто не будет отображаться. Поэтому данную функцию необходимо пользовать только на свежей установке woo

PHP:
add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
    function custom_woocommerce_states( $states ) {
        $states['RU'] = array(
            'Москва' => 'Москва',
            'Московская область' => 'Московская область',
            'Санкт-Петербург' => 'Санкт-Петербург',
            'Ленинградская область' => 'Ленинградская область',
            'Адыгея' => 'Адыгея',
            'Алтайский край' => 'Алтайский край',
            'Амурская область' => 'Амурская область',
            'Архангельская область' => 'Архангельская область',
            'Астраханская область' => 'Астраханская область',
            'Башкортостан' => 'Башкортостан',
            'Белгородская область' => 'Белгородская область',
            'Брянская область' => 'Брянская область',
            'Бурятия' => 'Бурятия',
            'Владимирская область' => 'Владимирская область',
            'Волгоградская область' => 'Волгоградская область',
            'Вологодская область' => 'Вологодская область',
            'Воронежская область' => 'Воронежская область',
            'Дагестан' => 'Дагестан',
            'Еврейская АО' => 'Еврейская АО',
            'Забайкальский край' => 'Забайкальский край',
            'Ивановская область' => 'Ивановская область',
            'Ингушетия' => 'Ингушетия',
            'Иркутская область' => 'Иркутская область',
            'Кабардино-Балкария' => 'Кабардино-Балкария',
            'Калининградская область' => 'Калининградская область',
            'Калмыкия' => 'Калмыкия',
            'Калужская область' => 'Калужская область',
            'Камчатский край' => 'Камчатский край',
            'Карачаево-Черкесия' => 'Карачаево-Черкесия',
            'Карелия' => 'Карелия',
            'Кемеровская область' => 'Кемеровская область',
            'Кировская область' => 'Кировская область',
            'Коми' => 'Коми',
            'Костромская область' => 'Костромская область',
            'Краснодарский край' => 'Краснодарский край',
            'Красноярский край' => 'Красноярский край',
            'Крым' => 'Крым',
            'Курганская область' => 'Курганская область',
            'Курская область' => 'Курская область',
            'Липецкая область' => 'Липецкая область',
            'Магаданская область' => 'Магаданская область',
            'Марий Эл' => 'Марий Эл',
            'Мордовия' => 'Мордовия',
            'Мурманская область' => 'Мурманская область',
            'Ненецкий АО' => 'Ненецкий АО',
            'Нижегородская область' => 'Нижегородская область',
            'Новгородская область' => 'Новгородская область',
            'Новосибирская область' => 'Новосибирская область',
            'Омская область' => 'Омская область',
            'Оренбургская область' => 'Оренбургская область',
            'Орловская область' => 'Орловская область',
            'Пензенская область' => 'Пензенская область',
            'Пермский край' => 'Пермский край',
            'Приморский край' => 'Приморский край',
            'Псковская область' => 'Псковская область',
            'Республика Алтай' => 'Республика Алтай',
            'Ростовская область' => 'Ростовская область',
            'Рязанская область' => 'Рязанская область',
            'Самарская область' => 'Самарская область',
            'Саратовская область' => 'Саратовская область',
            'Сахалинская область' => 'Сахалинская область',
            'Саха (Якутия)' => 'Саха (Якутия)',
            'Свердловская область' => 'Свердловская область',
            'Северная Осетия' => 'Северная Осетия',
            'Смоленская область' => 'Смоленская область',
            'Ставропольский край' => 'Ставропольский край',
            'Тамбовская область' => 'Тамбовская область',
            'Татарстан' => 'Татарстан',
            'Тверская область' => 'Тверская область',
            'Томская область' => 'Томская область',
            'Тульская область' => 'Тульская область',
            'Тыва' => 'Тыва',
            'Тюменская область' => 'Тюменская область',
            'Удмуртия' => 'Удмуртия',
            'Ульяновская область' => 'Ульяновская область',
            'Хабаровский край' => 'Хабаровский край',
            'Хакасия' => 'Хакасия',
            'Ханты-Мансийский АО' => 'Ханты-Мансийский АО',
            'Челябинская область' => 'Челябинская область',
            'Чеченская республика' => 'Чеченская республика',
            'Чувашия' => 'Чувашия',
            'Чукотский АО' => 'Чукотский АО',
            'Ямало-Ненецкий АО' => 'Ямало-Ненецкий АО',
            'Ярославская область' => 'Ярославская область',
        );
        return $states;
    }
 

Paxka

Новичок
Если вдруг кому то нужно то вот. Предупреждаю что это влияет и на выбор региона в зонах доставки и в принципе на сохраненное поле области и если сохраненное поле не соответствует опции в выборе то оно просто не будет отображаться. Поэтому данную функцию необходимо пользовать только на свежей установке woo

PHP:
add_filter( 'woocommerce_states', 'custom_woocommerce_states' );
    function custom_woocommerce_states( $states ) {
        $states['RU'] = array(
            'Москва' => 'Москва',
            'Московская область' => 'Московская область',
            'Санкт-Петербург' => 'Санкт-Петербург',
            'Ленинградская область' => 'Ленинградская область',
            'Адыгея' => 'Адыгея',
            'Алтайский край' => 'Алтайский край',
            'Амурская область' => 'Амурская область',
            'Архангельская область' => 'Архангельская область',
            'Астраханская область' => 'Астраханская область',
            'Башкортостан' => 'Башкортостан',
            'Белгородская область' => 'Белгородская область',
            'Брянская область' => 'Брянская область',
            'Бурятия' => 'Бурятия',
            'Владимирская область' => 'Владимирская область',
            'Волгоградская область' => 'Волгоградская область',
            'Вологодская область' => 'Вологодская область',
            'Воронежская область' => 'Воронежская область',
            'Дагестан' => 'Дагестан',
            'Еврейская АО' => 'Еврейская АО',
            'Забайкальский край' => 'Забайкальский край',
            'Ивановская область' => 'Ивановская область',
            'Ингушетия' => 'Ингушетия',
            'Иркутская область' => 'Иркутская область',
            'Кабардино-Балкария' => 'Кабардино-Балкария',
            'Калининградская область' => 'Калининградская область',
            'Калмыкия' => 'Калмыкия',
            'Калужская область' => 'Калужская область',
            'Камчатский край' => 'Камчатский край',
            'Карачаево-Черкесия' => 'Карачаево-Черкесия',
            'Карелия' => 'Карелия',
            'Кемеровская область' => 'Кемеровская область',
            'Кировская область' => 'Кировская область',
            'Коми' => 'Коми',
            'Костромская область' => 'Костромская область',
            'Краснодарский край' => 'Краснодарский край',
            'Красноярский край' => 'Красноярский край',
            'Крым' => 'Крым',
            'Курганская область' => 'Курганская область',
            'Курская область' => 'Курская область',
            'Липецкая область' => 'Липецкая область',
            'Магаданская область' => 'Магаданская область',
            'Марий Эл' => 'Марий Эл',
            'Мордовия' => 'Мордовия',
            'Мурманская область' => 'Мурманская область',
            'Ненецкий АО' => 'Ненецкий АО',
            'Нижегородская область' => 'Нижегородская область',
            'Новгородская область' => 'Новгородская область',
            'Новосибирская область' => 'Новосибирская область',
            'Омская область' => 'Омская область',
            'Оренбургская область' => 'Оренбургская область',
            'Орловская область' => 'Орловская область',
            'Пензенская область' => 'Пензенская область',
            'Пермский край' => 'Пермский край',
            'Приморский край' => 'Приморский край',
            'Псковская область' => 'Псковская область',
            'Республика Алтай' => 'Республика Алтай',
            'Ростовская область' => 'Ростовская область',
            'Рязанская область' => 'Рязанская область',
            'Самарская область' => 'Самарская область',
            'Саратовская область' => 'Саратовская область',
            'Сахалинская область' => 'Сахалинская область',
            'Саха (Якутия)' => 'Саха (Якутия)',
            'Свердловская область' => 'Свердловская область',
            'Северная Осетия' => 'Северная Осетия',
            'Смоленская область' => 'Смоленская область',
            'Ставропольский край' => 'Ставропольский край',
            'Тамбовская область' => 'Тамбовская область',
            'Татарстан' => 'Татарстан',
            'Тверская область' => 'Тверская область',
            'Томская область' => 'Томская область',
            'Тульская область' => 'Тульская область',
            'Тыва' => 'Тыва',
            'Тюменская область' => 'Тюменская область',
            'Удмуртия' => 'Удмуртия',
            'Ульяновская область' => 'Ульяновская область',
            'Хабаровский край' => 'Хабаровский край',
            'Хакасия' => 'Хакасия',
            'Ханты-Мансийский АО' => 'Ханты-Мансийский АО',
            'Челябинская область' => 'Челябинская область',
            'Чеченская республика' => 'Чеченская республика',
            'Чувашия' => 'Чувашия',
            'Чукотский АО' => 'Чукотский АО',
            'Ямало-Ненецкий АО' => 'Ямало-Ненецкий АО',
            'Ярославская область' => 'Ярославская область',
        );
        return $states;
    }
Это в каком файле менять?
 
Сверху Снизу