Разделы документации

Выбор города

Плагин «WT GeoTargeting» (Free и Pro) позволяет настроить выбор города на сайте — возможность посетителю вручную указать свой регион.


Выбор с помощью GET-переменных (Free, Pro)

Самый простой способ — ссылки с параметрами. При переходе по ссылке значение сохраняется в cookie и используется плагином.

GET-параметры

ПараметрОписание
wt_country_by_defaultСохранение страны в cookie
wt_district_by_defaultСохранение округа в cookie
wt_region_by_defaultСохранение региона (области, края) в cookie
wt_city_by_defaultСохранение города в cookie
wt_geo_cleanОчистка предустановленных данных из cookie

Пример HTML

Выберите ближайший к вам город:
<a href="/?wt_region_by_default=Приморский+край">Владивосток</a>,
<a href="/?wt_city_by_default=Москва">Москва</a>,
<a href="/?wt_region_by_default=Самарская+область">Тольятти</a>,
<a href="/?wt_geo_clean=1">Отменить выбор</a>

Для городов с одинаковыми названиями в разных регионах используйте wt_region_by_default вместе с wt_city_by_default или укажите регион отдельно.


Реализация с помощью шорткодов (*Pro)

Минимальная настройка

  1. Создайте страницу «Выбор города».
  2. Добавьте шорткод [wt_locations] — список городов, по клику на которые посетитель выбирает регион.
  3. Опционально добавьте [wt_location_search] — поле поиска по регионам (AJAX).

Шорткод [wt_locations] доступен начиная с версии 1.7.10 Pro.

Типы выбора региона

Шорткод [wt_locations] поддерживает разные режимы перехода при выборе:

type_select_locationОписание
java_scriptПерезагрузка страницы с установкой cookie (по умолчанию)
link_subdomainПереход на поддомен (samara.domain.ru)
link_directoryПереход на URL с путём (/samara/)
dropdown_listВыпадающий список (select)

Примечание. Режимы link_subdomain и link_directory требуют дополнительных настроек: заполнения мета-поля subdomain у регионов, настройки сервера и, при необходимости, конфигурации WordPress. Подробнее см. Настройка URL, Настройка поддоменов и Настройка регионов.


JavaScript-функции (*Pro)

Функции WtLocation работают с cookie wt_geolocation_data (в ранних версиях — wt_geo_data) и позволяют программно устанавливать регион без перехода по ссылке.

ФункцияОписание
WtLocation.getValue(type)Получить текущий выбранный регион или данные геолокации
WtLocation.setValue(name, type, redirect)Присвоить новый регион. Присваивая один тип, остальные удаляются. С версии 1.7.9 можно передать ID региона
WtLocation.setValues(values, redirect)Присвоить регион в виде объекта {city, region, country, …}
WtLocation.setCountry(name, redirect)Установить страну
WtLocation.setDistrict(name, redirect)Установить округ
WtLocation.setRegion(name, redirect)Установить область/регион
WtLocation.setCity(name, redirect)Установить город
WtLocation.setAdministrativeDistrict(name, redirect)Установить административный округ

Параметры

  • name — название локации или ID региона (с 1.7.9)
  • type — тип: country, city, region, district, administrative_district
  • redirect'reload' для перезагрузки страницы, URL для перехода, иначе — без действия
  • values — объект, например {city: 'Самара', region: 'Самарская область', country: 'RU'}

Примеры

<a onclick="WtLocation.setCity('Самара', 'reload');">Выбрать Самару</a>
<a onclick="WtLocation.setRegion('Самарская область', 'reload');">Выбрать Самарскую область</a>
<a onclick="WtLocation.setValues({'city': 'Самара', 'region': 'Самарская область', 'country': 'RU'}, 'reload');">Самара с областью и страной</a>

Подробнее см. JavaScript API.


Вопросы и ответы

Нет. Ни в платной, ни в бесплатной версии нет шорткода для вывода модального окна с выбором региона.

Нужно самостоятельно сверстать модальное окно и добавить его в тему. Для получения списка городов используйте PHP-функцию WT::$location->getRegionsArray() (см. PHP-функции). Выбор города реализуйте через JavaScript WtLocation.setCity() или GET-параметры в ссылках.

Примеры модальных окон есть в приложении к плагину WT Geotargeting Pro. Для создания всплывающих окон можно использовать плагин WP Popups.

Какие шорткоды поддерживает бесплатная версия?

В Free-версии для работы с контентом доступен шорткод [wt_geotargeting]. Дополнительно в Pro поддерживаются [wt_location] и [wt_locations].

Как убрать GET-параметры из адресной строки при выборе города?

При выборе через ссылки с ?wt_region_by_default=... или ?wt_city_by_default=... параметры остаются в URL. Чтобы их скрыть, используйте другие варианты выбора: поддомены (link_subdomain), директории (link_directory), либо JavaScript WtLocation.setCity() / setRegion() с редиректом на «чистый» URL (например, на главную или текущую страницу без query string).

Некорректно работает смена города?

Смену города нужно реализовать самостоятельно: переход по ссылке или обработка клика в JavaScript. На каждом сайте подход может отличаться. Примеры — в приложении к плагину и в шаблонах. При необходимости — заказать настройку под ключ.


См. также

MAX