Woocommerce отличный плагин для создания интернет магазина, но поскольку он заточен под западный рынок, и не очень развит в рунете, приходится кое-что дорабатывать.
Такой, например, доработкой будет внесение списка городов и областей для создания зон доставки.
По умолчанию в Woocommerce можно создать зону доставки «Россия»,
но Россия очень большая и стоимость доставки будет значительно отличатся, скажем в Москву и Владивосток.
Чтобы более точно указывать назначение доставки можно воспользоваться индексами. Но здесь есть 2 проблемы:
1. не каждый покупатель точно знает свой индекс.
2. индексов так много, что уйдет огромное количество времени, чтобы задать их в настройках и разбить по зонам доставки
В общем есть более простое решение. Внести список городов и областей в Woocommerce, как у них сделано для США по умолчанию.
Сделать это просто! В файл шаблона functions.php вставить следующий код:
add_filter( 'woocommerce_states', 'new_rus_woocommerce_states' ); function new_rus_woocommerce_states( $states ) { $states['RU'] = array( 'MSK' => 'Москва', 'SPB' => 'Санкт-Петербург', 'NOV' => 'Новосибирск', 'EKB' => 'Екатеринбург', 'NN' => 'Нижний Новгород', 'KZN' => 'Казань', 'CHL' => 'Челябинск', 'OMSK' => 'Омск', 'SMR' => 'Самара', 'RND' => 'Ростов-на-Дону', 'UFA' => 'Уфа', 'PRM' => 'Пермь', 'KRN' => 'Красноярск', 'VRZH' => 'Воронеж', 'VLG' => 'Волгоград', 'SIMF' => 'Симферополь', 'ABAO' => 'Агинский Бурятский авт.окр.', 'AR' => 'Адыгея Республика', 'ALR' => 'Алтай Республика', 'AK' => 'Алтайский край', 'AMO' => 'Амурская область', 'ARO' => 'Архангельская область', 'ACO' => 'Астраханская область', 'BR' => 'Башкортостан республика', 'BEO' => 'Белгородская область', 'BRO' => 'Брянская область', 'BUR' => 'Бурятия республика', 'VLO' => 'Владимирская область', 'VOO' => 'Волгоградская область', 'VOLGO' => 'Вологодская область', 'VORO' => 'Воронежская область', 'DR' => 'Дагестан республика', 'EVRAO' => 'Еврейская авт. область', 'IO' => 'Ивановская область', 'IR' => 'Ингушетия республика', 'IRO' => 'Иркутская область', 'KBR' => 'Кабардино-Балкарская республика', 'KNO' => 'Калининградская область', 'KMR' => 'Калмыкия республика', 'KLO' => 'Калужская область', 'KMO' => 'Камчатская область', 'KCHR' => 'Карачаево-Черкесская республика', 'KR' => 'Карелия республика', 'KEMO' => 'Кемеровская область', 'KIRO' => 'Кировская область', 'KOMI' => 'Коми республика', 'KPAO' => 'Коми-Пермяцкий авт. окр.', 'KRAO' => 'Корякский авт.окр.', 'KOSO' => 'Костромская область', 'KRSO' => 'Краснодарский край', 'KRNO' => 'Красноярский край', 'KRYM' => 'Крым Республика', 'KURGO' => 'Курганская область', 'KURO' => 'Курская область', 'LENO' => 'Ленинградская область', 'LPO' => 'Липецкая область', 'MAGO' => 'Магаданская область', 'MER' => 'Марий Эл республика', 'MOR' => 'Мордовия республика', 'MSKO' => 'Московская область', 'MURO' => 'Мурманская область', 'NAO' => 'Ненецкий авт.окр.', 'NZHO' => 'Нижегородская область', 'NVGO' => 'Новгородская область', 'NVO' => 'Новосибирская область', 'OMO' => 'Омская область', 'OPENO' => 'Оренбургская область', 'OPLO' => 'Орловская область', 'PENO' => 'Пензенская область', 'PERO' => 'Пермский край', 'PRO' => 'Приморский край', 'PSO' => 'Псковская область', 'RSO' => 'Ростовская область', 'RZO' => 'Рязанская область', 'SMRO' => 'Самарская область', 'SRP' => 'Саратовская область', 'SYAR' => 'Саха(Якутия) республика', 'SKHO' => 'Сахалинская область', 'SVO' => 'Свердловская область', 'SOAR' => 'Северная Осетия - Алания республика', 'SMO' => 'Смоленская область', 'STK' => 'Ставропольский край', 'TRAO' => 'Таймырский (Долгано-Ненецкий) авт. окр.', 'TMBO' => 'Тамбовская область', 'TTR' => 'Татарстан республика', 'TVO' => 'Тверская область', 'TMO' => 'Томская область', 'TVR' => 'Тыва республика', 'TULO' => 'Тульская область', 'TUMO' => 'Тюменская область', 'UDO' => 'Удмуртская республика', 'ULO' => 'Ульяновская область', 'UOBAO' => 'Усть-Ордынский Бурятский авт.окр.', 'KHBK' => 'Хабаровский край', 'KHKR' => 'Хакасия республика', 'KHMAO' => 'Ханты-Мансийский авт.окр.', 'CHLO' => 'Челябинская область', 'CHCHR' => 'Чеченская республика', 'CHTO' => 'Читинская область', 'CHVR' => 'Чувашская республика', 'CHKAO' => 'Чукотский авт.окр.', 'EVAO' => 'Эвенкийский авт.окр.', 'YANO' => 'Ямало-Ненецкий авт.окр.', 'YAO' => 'Ярославская область' ); return $states; }
В этом списке указаны все области, округа, и республики, а также в начале указаны несколько городов миллионников. Вы можете сами сформировать такой список, добавить еще города, или даже деревни. Главное, указывайте оригинальный код города (заглавные буквы, латиницей). Например: ‘YAO’ => ‘Ярославская область’ . YAO — это код Ярославской области. Вы его придумываете сами. Главное, чтобы эти коды в списке не повторялись.
После того как вы создали список в файле functions.php у вас появится возможность указывать те города, области, республики для определенной зоны доставки, и соответственно создать необходимые методы доставки для данной зоны.
С вопросами обращайтесь в нашу службу поддержки 24/7
Нужен качественный хостинг для сайта на WordPress?
Рекомендую, проверенные годами, хостинг Timeweb:

а также, хостинг Beget:

Средняя оценка: 5 из 5