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

JavaScript API — WtLocation и поиск по регионам

Документ описывает JavaScript-интерфейс плагина WT Geotargeting Pro для выбора региона на стороне клиента. API доступно после загрузки скрипта wt-location.js.

Файл: js/wt-location.js


Глобальный объект WtLocation

Объект инициализируется при загрузке страницы (jQuery(document).ready). Работает с cookie wt_geolocation_data (в ранних версиях — wt_geo_data). Данные сохраняются на 7 дней.


Получение данных (getters)

МетодОписаниеВозвращает
WtLocation.getValue(type)Получить значение по типуstring или false
WtLocation.getCountry()Текущая странаstring или false
WtLocation.getDistrict()Текущий округstring или false
WtLocation.getRegion()Текущая область/регионstring или false
WtLocation.getCity()Текущий городstring или false
WtLocation.getAdministrativeDistrict()Текущий административный округstring или false

type в getValue(): country, district, region, city, administrative_district, location_id.


Установка региона (setters)

setValue(name, type, redirect)

Присваивает один тип локации. Остальные типы сбрасываются.

  • name — название локации или ID региона (с версии 1.7.9). При числовом ID сохраняется location_id.
  • typecountry, city, region, district, administrative_district
  • redirect'reload' для перезагрузки страницы, URL для перехода, иначе — без действия

setValues(values, redirect)

Присваивает несколько значений сразу.

  • values — объект: {city, region, country, district, administrative_district, location_id}
  • redirect — как в setValue

Специализированные методы

МетодЭквивалент
WtLocation.setCountry(name, redirect)setValue(name, 'country', redirect)
WtLocation.setDistrict(name, redirect)setValue(name, 'district', redirect)
WtLocation.setRegion(name, redirect)setValue(name, 'region', redirect)
WtLocation.setCity(name, redirect)setValue(name, 'city', redirect)
WtLocation.setAdministrativeDistrict(name, redirect)setValue(name, 'administrative_district', redirect)

Примеры использования

// Выбрать город и перезагрузить
WtLocation.setCity('Самара', 'reload');

// Выбрать область
WtLocation.setRegion('Самарская область', 'reload');

// Выбрать по ID региона (из админки)
WtLocation.setValue(123, null, 'reload');

// Выбрать несколько значений
WtLocation.setValues({
    city: 'Самара',
    region: 'Самарская область',
    country: 'RU'
}, 'reload');

// Перейти на URL после выбора
WtLocation.setCity('Москва', '/moskva/');

// Получить текущий город
var city = WtLocation.getCity();

Поиск по регионам (AJAX)

Шорткод [wt_location_search] выводит поле ввода с id="search_location_name" и кнопку id="search_location_button". При вводе от 2 символов вызывается AJAX-запрос:

  • Action: search_location
  • Endpoint: /wp-admin/admin-ajax.php
  • Параметры: value, data_type: 'object', опционально filter_parent (из data-filter-parent)

Результаты выводятся в элемент, указанный в data-result-div-id. HTML генерируется функцией generateHtmlLocations() с учётом глобальных переменных list_tag, column_class, type_select_location (задаются шорткодом [wt_locations]).


Отключение скрипта WtLocation

В настройках плагина (Технические) можно отключить скрипт WtLocation. В этом случае объект WtLocation может быть недоступен.


См. также

MAX