Задача. На WordPress-сайте с Woocommerce страница Оформления заказа, в деталях заказа есть выпадающий список «Укажите Ваш город:», но по стандарту в плагине не предусмотрены города из России, Украины и т.д. Есть задача добавить в этот список города или области которые нужны нам, чтобы пользователь (покупатель) мог выбрать куда доставлять товар.
Решение. Чтобы добавить нужные города и области России (или другой страны) в зоны доставки WooCommerce можно использовать следующий Код #1 в function.php
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
## Добавление городов и регионов доставки по РФ add_filter( 'woocommerce_states', 'woocommerce_states_ru' ); function woocommerce_states_ru( $states ) { $states['RU'] = array( 'NOCITY' => 'Нет моего города', "МОСКВА" => " Москва", "САНКТ-ПЕТЕРБУРГ" => " Санкт-Петербург", "АБАКАН" => " Абакан", "АНАДЫРЬ" => " Анадырь", "АНАПА" => " Анапа", "АРХАНГЕЛЬСК" => " Архангельск", "АСТРАХАНЬ" => " Астрахань", "БАЙКОНУР" => " Байконур", "БАРНАУЛ" => " Барнаул", "БЕЛГОРОД" => " Белгород", "БИРОБИДЖАН" => " Биробиджан", "БЛАГОВЕЩЕНСК" => " Благовещенск", "БРЯНСК" => " Брянск", "ВЕЛИКИЙ НОВГОРОД" => " Великий Новгород", "ВЛАДИВОСТОК" => " Владивосток", "ВЛАДИКАВКАЗ" => " Владикавказ", "ВЛАДИМИР" => " Владимир", "ВОЛГОГРАД" => " Волгоград", "ВОЛОГДА" => " Вологда", "ВОРКУТА" => " Воркута", "ВОРОНЕЖ" => " Воронеж", "ГОРНО-АЛТАЙСК" => " Горно-Алтайск", "ГРОЗНЫЙ" => " Грозный", "ДУДИНКА" => " Дудинка", "ЕКАТЕРИНБУРГ" => " Екатеринбург", "ЕЛИЗОВО" => " Елизово", "ИВАНОВО" => " Иваново", "ИЖЕВСК" => " Ижевск", "ИРКУТСК" => " Иркутск", "ЙОШКАР-ОЛА" => " Йошкар-Ола", "КАЗАНЬ" => " Казань", "КАЛИНИНГРАД" => " Калининград", "КАЛУГА" => " Калуга", "КЕМЕРОВО" => " Кемерово", "КИРОВ" => " Киров", "КОСТРОМА" => " Кострома", "КОСТОМУКША" => " Костомукша", "КРАСНОДАР" => " Краснодар", "КРАСНОЯРСК" => " Красноярск", "КУРГАН" => " Курган", "КУРСК" => " Курск", "КЫЗЫЛ" => " Кызыл", "ЛИПЕЦК" => " Липецк", "МАГАДАН" => " Магадан", "МАГНИТОГОРСК" => " Магнитогорск", "МАЙКОП" => " Майкоп", "МАХАЧКАЛА" => " Махачкала", "МИНЕРАЛЬНЫЕ ВОДЫ" => " Минеральные Воды", "МИРНЫЙ" => " Мирный", "МУРМАНСК" => " Мурманск", "МЫТИЩИ" => " Мытищи", "НАБЕРЕЖНЫЕ ЧЕЛНЫ" => " Набережные Челны", "НАДЫМ" => " Надым", "НАЗРАНЬ" => " Назрань", "НАЛЬЧИК" => " Нальчик", "НАРЬЯН-МАР" => " Нарьян-Мар", "НИЖНЕВАРТОВСК" => " Нижневартовск", "НОВОКУЗНЕЦК" => " Новокузнецк", "НОВОРОССИЙСК" => " Новороссийск", "НОВОСИБИРСК" => " Новосибирск", "НЕРЮНГРИ" => " Нерюнгри", "НЕФТЕЮГАНСК" => " Нефтеюганск", "НИЖНИЙ НОВГОРОД" => " Нижний Новгород", "НОВЫЙ УРЕНГОЙ" => " Новый Уренгой", "НОРИЛЬСК" => " Норильск", "НОЯБРЬСК" => " Ноябрьск", "ОМСК" => " Омск", "ОРЕНБУРГ" => " Оренбург", "ОРЁЛ" => " Орел", "ПЕНЗА" => " Пенза", "ПЕРМЬ" => " Пермь", "ПЕТРОЗАВОДСК" => " Петрозаводск", "ПЕТРОПАВЛОВСК-КАМЧАТСКИЙ" => " Петропавловск-Камчатский", "ПСКОВ" => " Псков", "РОСТОВ-НА-ДОНУ" => " Ростов-на-Дону", "РЯЗАНЬ" => " Рязань", "САЛЕХАРД" => " Салехард", "САМАРА" => " Самара", "САРАНСК" => " Саранск", "САРАТОВ" => " Саратов", "СЕВАСТОПОЛЬ" => " Севастополь", "СИМФЕРОПОЛЬ" => " Симферополь", "СМОЛЕНСК" => " Смоленск", "СОЧИ" => " Сочи", "СТАВРОПОЛЬ" => " Ставрополь", "СТРЕЖЕВОЙ" => " Стрежевой", "СУРГУТ" => " Сургут", "СЫКТЫВКАР" => " Сыктывкар", "ТАМБОВ" => " Тамбов", "ТВЕРЬ" => " Тверь", "ТОЛЬЯТТИ" => " Тольятти", "ТОМСК" => " Томск", "ТУЛА" => " Тула", "ТЫНДА" => " Тында", "ТЮМЕНЬ" => " Тюмень", "УЛАН-УДЭ" => " Улан-Удэ", "УЛЬЯНОВСК" => " Ульяновск", "УСИНСК" => " Усинск", "УФА" => " Уфа", "УХТА" => " Ухта", "ХАБАРОВСК" => " Хабаровск", "ХАНТЫ-МАНСИЙСК" => " Ханты-Мансийск", "ХОЛМСК" => " Холмск", "ЧЕБОКСАРЫ" => " Чебоксары", "ЧЕЛЯБИНСК" => " Челябинск", "ЧЕРЕПОВЕЦ" => " Череповец", "ЧЕРКЕССК" => " Черкесск", "ЧИТА" => " Чита", "ЭЛИСТА" => " Элиста", "ЮЖНО-САХАЛИНСК" => " Южно-Сахалинск", "ЯКУТСК" => " Якутск", "ЯРОСЛАВЛЬ" => " Ярославль", "АДЫГЕЯ РЕСПУБЛИКА" => " Адыгея респ.", "АЛТАЙ РЕСПУБЛИКА" => " Алтай респ.", "АЛТАЙСКИЙ КРАЙ" => " Алтайский край", "АМУРСКАЯ ОБЛАСТЬ" => " Амурская обл.", "АРХАНГЕЛЬСКАЯ ОБЛАСТЬ" => " Архангельская обл.", "АСТРАХАНСКАЯ ОБЛАСТЬ" => " Астраханская обл.", "БАШКОРТОСТАН РЕСПУБЛИКА" => " Башкортостан респ.", "БЕЛГОРОДСКАЯ ОБЛАСТЬ" => " Белгородская обл.", "БРЯНСКАЯ ОБЛАСТЬ" => " Брянская обл.", "БУРЯТИЯ РЕСПУБЛИКА" => " Бурятия респ.", "ВЛАДИМИРСКАЯ ОБЛАСТЬ" => " Владимирская обл.", "ВОЛГОГРАДСКАЯ ОБЛАСТЬ" => " Волгоградская обл.", "ВОЛОГОДСКАЯ ОБЛАСТЬ" => " Вологодская обл.", "ВОРОНЕЖСКАЯ ОБЛАСТЬ" => " Воронежская обл.", "ДАГЕСТАН РЕСПУБЛИКА" => " Дагестан респ.", "ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ" => " Еврейская авт.обл.", "ЗАБАЙКАЛЬСКИЙ КРАЙ" => " Забайкальский край", "ИВАНОВСКАЯ ОБЛАСТЬ" => " Ивановская обл.", "ИНГУШЕТИЯ РЕСПУБЛИКА" => " Ингушетия респ.", "ИРКУТСКАЯ ОБЛАСТЬ" => " Иркутская обл.", "КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА" => " Кабардино-Балкарская респ.", "КАЛИНИНГРАДСКАЯ ОБЛАСТЬ" => " Калининградская обл.", "КАЛМЫКИЯ РЕСПУБЛИКА" => " Калмыкия респ.", "КАЛУЖСКАЯ ОБЛАСТЬ" => " Калужская обл.", "КАМЧАТСКИЙ КРАЙ" => " Камчатский край", "КАРАЧАЕВО-ЧЕРКЕССКАЯ РЕСПУБЛИКА" => " Карачаево-Черкесская респ.", "КАРЕЛИЯ РЕСПУБЛИКА" => " Карелия респ.", "КЕМЕРОВСКАЯ ОБЛАСТЬ" => " Кемеровская обл.", "КИРОВСКАЯ ОБЛАСТЬ" => " Кировская обл.", "КОМИ РЕСПУБЛИКА" => " Коми респ.", "КОСТРОМСКАЯ ОБЛАСТЬ" => " Костромская обл.", "КРАСНОДАРСКИЙ КРАЙ" => " Краснодарский край", "КРЫМ РЕСПУБЛИКА" => " Крым республика", "КРАСНОЯРСКИЙ КРАЙ" => " Красноярский край", "КУРГАНСКАЯ ОБЛАСТЬ" => " Курганская обл.", "КУРСКАЯ ОБЛАСТЬ" => " Курская обл.", "ЛЕНИНГРАДСКАЯ ОБЛАСТЬ" => " Ленинградская обл.", "ЛИПЕЦКАЯ ОБЛАСТЬ" => " Липецкая обл.", "МАГАДАНСКАЯ ОБЛАСТЬ" => " Магаданская обл.", "МАРИЙ ЭЛ РЕСПУБЛИКА" => " Марий Эл респ.", "МОРДОВИЯ РЕСПУБЛИКА" => " Мордовия респ.", "МОСКОВСКАЯ ОБЛАСТЬ" => " Московская обл.", "МУРМАНСКАЯ ОБЛАСТЬ" => " Мурманская обл.", "НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ" => " Ненецкий АО", "НИЖЕГОРОДСКАЯ ОБЛАСТЬ" => " Нижегородская обл.", "НОВГОРОДСКАЯ ОБЛАСТЬ" => " Новгородская обл.", "НОВОСИБИРСКАЯ ОБЛАСТЬ" => " Новосибирская обл.", "ОМСКАЯ ОБЛАСТЬ" => " Омская обл.", "ОРЕНБУРГСКАЯ ОБЛАСТЬ" => " Оренбургская обл.", "ОРЛОВСКАЯ ОБЛАСТЬ" => " Орловская обл.", "ПЕНЗЕНСКАЯ ОБЛАСТЬ" => " Пензенская обл.", "ПЕРМСКИЙ КРАЙ" => " Пермский край", "ПРИМОРСКИЙ КРАЙ" => " Приморский край", "ПСКОВСКАЯ ОБЛАСТЬ" => " Псковская обл.", "РОСТОВСКАЯ ОБЛАСТЬ" => " Ростовская обл.", "РЯЗАНСКАЯ ОБЛАСТЬ" => " Рязанская обл.", "САМАРСКАЯ ОБЛАСТЬ" => " Самарская обл.", "САРАТОВСКАЯ ОБЛАСТЬ" => " Саратовская обл.", "САХА (ЯКУТИЯ) РЕСПУБЛИКА" => " Саха (Якутия) респ.", "САХАЛИНСКАЯ ОБЛАСТЬ" => " Сахалинская обл.", "СВЕРДЛОВСКАЯ ОБЛАСТЬ" => " Свердловская обл.", "СЕВЕРНАЯ ОСЕТИЯ-АЛАНИЯ РЕСПУБЛИКА" => " Северная Осетия - Алания респ.", "СМОЛЕНСКАЯ ОБЛАСТЬ" => " Смоленская обл.", "СТАВРОПОЛЬСКИЙ КРАЙ" => " Ставропольский край", "ТАЙМЫРСКИЙ ДОЛГАНО-НЕНЕЦКИЙ РАЙОН" => " Таймырский Долгано-Ненецкий р-н", "ТАМБОВСКАЯ ОБЛАСТЬ" => " Тамбовская обл.", "ТАТАРСТАН РЕСПУБЛИКА" => " Татарстан респ.", "ТВЕРСКАЯ ОБЛАСТЬ" => " Тверская обл.", "ТОМСКАЯ ОБЛАСТЬ" => " Томская обл.", "ТУЛЬСКАЯ ОБЛАСТЬ" => " Тульская обл.", "ТЫВА РЕСПУБЛИКА" => " Тыва респ.", "ТЮМЕНСКАЯ ОБЛАСТЬ" => " Тюменская обл.", "УДМУРТСКАЯ РЕСПУБЛИКА" => " Удмуртская респ.", "УЛЬЯНОВСКАЯ ОБЛАСТЬ" => " Ульяновская обл.", "ХАБАРОВСКИЙ КРАЙ" => " Хабаровский край", "ХАКАСИЯ РЕСПУБЛИКА" => " Хакасия респ.", "ХАНТЫ-МАНСИЙСКИЙ-ЮГРА АВТОНОМНЫЙ ОКРУГ" => " Ханты-Мансийский АО - Югра", "ЧЕЛЯБИНСКАЯ ОБЛАСТЬ" => " Челябинская обл.", "ЧЕЧЕНСКАЯ РЕСПУБЛИКА" => " Чеченская респ.", "ЧУВАШСКАЯ РЕСПУБЛИКА" => " Чувашия респ.", "ЧУКОТСКИЙ АВТОНОМНЫЙ ОКРУГ" => " Чукотский АО", "ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ" => " Ямало-Ненецкий АО", "ЯРОСЛАВСКАЯ ОБЛАСТЬ" => " Ярославская обл." ); return $states; } |
Можно убрать ненужные или добавить по аналогии другие грода.
Не обновляется блок доставки в заказе при выборе города
Задача. Не обновляется блок доставки в заказе при выборе из списка Зоны доставки.
Решение 1. Проблема устраняется при добавлении класса «update_totals_on_change» в поле Class в настройках выводимого поля. Например, выводимое поле «Укажите Ваш город:». Данные поля можно редактировать с помощью плагина «Checkout Field Editor for WooCommerce».
Решение 2. Если первый способ не помог, то можно принудительно обновить заказ при смене города (Области/района) Код #2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
add_action('wp_footer', 'custom_update_totals_on_change_script'); function custom_update_totals_on_change_script() { if (is_checkout()) : ?> <script type="text/javascript"> jQuery(function($){ $('#billing_state').change(function(){ $('body').trigger('update_checkout'); }); }); </script> <?php endif; } |