Плагин «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)
Минимальная настройка
- Создайте страницу «Выбор города».
- Добавьте шорткод [wt_locations] — список городов, по клику на которые посетитель выбирает регион.
- Опционально добавьте [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_districtredirect—'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. На каждом сайте подход может отличаться. Примеры — в приложении к плагину и в шаблонах. При необходимости — заказать настройку под ключ.
См. также
- Быстрый старт Pro
- Настройка регионов
- Настройка поддоменов
- Шорткод WT_LOCATIONS
- Шорткод WT_LOCATION_SEARCH
- JavaScript API — WtLocation и поиск по регионам