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

Шорткод WT_LOCATIONS (*Pro)

Шорткод выводит список регионов (городов, областей и т.д.), по клику на которые посетитель выбирает свой регион. Начиная с версии 1.7.10 Pro.


Назначение

  • Вывод списка городов/регионов для выбора
  • Поддержка разных типов перехода: JavaScript (cookie), поддомены, директории, выпадающий список
  • Группировка и сортировка (в т.ч. по приоритету)
  • Взаимодействие с wt_location_search — переменные оформления берутся из wt_locations

Синтаксис

В блоке контента используется одна пара квадратных скобок:

[wt_locations]

или с аргументами:

[wt_locations filter_type="city" columns=2 container_class="row" column_class="col-12 col-md-6"]

Аргументы

Контейнер и список

АргументОписаниеПо умолчанию
container_idID контейнераnull
container_tagТег контейнераdiv
container_classКласс контейнераnull
columnsКоличество колонок1
column_classКласс колонокnull
labelПодпись над спискомnull
list_idID тега спискаwt-list-locations
list_tagТег списка: ul, div, a, selectul
list_classКласс спискаnull
list_styleInline-стили спискаnull
list_item_relАтрибут rel ссылки элементаnull
list_item_targetАтрибут target ссылкиnull
item_tagТег элемента (название региона)a
item_textТекст элемента. Поддержка: {region_name_prepositional} — название в предложном падеженазвание региона

Фильтрация и сортировка

АргументОписаниеПо умолчанию
filter_typeТип: city, region, country, district, administrative_districtcity
filter_priority_viewОтображение приоритетных городовnull
filter_parentID родителя или active_parent_id, active_country_idnull
filter_parent_notИсключить регионы с указанным родителем (ID)null
orderНаправление: ASC, DESCnull
orderbyПоле сортировки (как в WP_Query)null
orderby_add_priorityСначала приоритетные регионыfalse
hierarchyИерархический список: list или falsefalse
location_groupГруппировка: uppercase, parent (значение parent не работает)false

Переход при выборе

АргументОписаниеПо умолчанию
type_select_locationТип выбора региона: java_script, link_subdomain, link_directory, dropdown_listjava_script
cookie_saved_data_typeДанные в cookie: location_name, location_idlocation_name
url_pathКуда переходить после смены региона: current_page — текущая страница, null — кореньcurrent_page
home_url_pathПуть к главной: null, /%location%/null
protocolhttp или httpsавто
domainОсновной доменавто

Примеры

В каждом подразделе сначала приведён пример кода — строка шорткода для копирования в контент. Ниже указано, как посмотреть рабочий пример (вывод шорткода на странице).

На странице документации с демонстрацией для основных сценариев блок кода идёт первым, под ним — Результат: тот же шорткод в контенте страницы, чтобы видеть живой вывод. Если на одной странице несколько выпадающих списков, в рабочем примере может быть добавлен уникальный list_id, чтобы не пересекались списки.

Список городов в 2 колонки (Bootstrap 5)

Деление на две колонки с классами Bootstrap 5.

Пример кода:

[wt_locations columns=2 container_class="row" column_class="col-12 col-md-6"]

Рабочий пример: на странице документации — раздел «Список городов с перезагрузкой страницы»: под блоком кода выводится результат этого шорткода.


Список областей

Пример кода:

[wt_locations filter_type="region" columns=2 container_class="row" column_class="col-12 col-md-6"]

Рабочий пример: на странице документации — раздел «Список регионов с перезагрузкой страницы».


Ссылки на поддомены

Для работы нужна настройка поддоменов.

Пример кода:

[wt_locations type_select_location="link_subdomain"]

Рабочий пример: на странице документации — раздел «Список городов ссылками на поддомены». Если поддомены не настроены, ссылки ведут себя как в пояснении на сайте; в демо к рабочему примеру могут быть добавлены list_item_rel и list_item_target.

В примере ниже ссылки могут быть нерелевантны, если на сайте не настроены поддомены.


Выпадающий список

Пример кода:

[wt_locations type_select_location="dropdown_list"]

Рабочий пример: на странице документации — раздел «Выбор города в выпадающем списке»; при необходимости уникального list_id на странице с несколькими списками см. фактический вывод на сайте.


Выпадающий список с группировкой по областям

Пример кода:

[wt_locations type_select_location="dropdown_list" hierarchy=true filter_type=region]

Рабочий пример: на странице документации — раздел «Выбор города в выпадающем списке с группировкой областей».


Сортировка приоритетных городов первыми

Пример кода:

[wt_locations orderby_add_priority="true"]

Рабочий пример: вставьте шорткод на тестовую страницу — приоритетные регионы (если заданы в настройках) отображаются в начале списка при включённой сортировке.


Только города указанной области (ID родителя 123)

Пример кода:

[wt_locations filter_parent="123"]

Рабочий пример: подставьте вместо 123 фактический ID родительского региона из админки — в списке останутся дочерние локации.


Только соседи текущего региона (города той же области)

Пример кода:

[wt_locations filter_parent="active_parent_id"]

Рабочий пример: на странице с определённым регионом посетителя выводятся города той же области (родителя), что и у текущей локации.


Формирование ссылок выбора города

При использовании режимов link_directory и link_subdomain:

  • Региональные директории: ссылки корректно формируются для путей вида domain.com/moscow/, domain.com/catalog/moscow/.
  • Главная страница: на главной исключается подстановка ярлыка страницы — ссылки на главную для каждого региона формируются правильно.
  • Путь страницы: при отсутствии ярлыка путь извлекается из текущего URL (REQUEST_URI) или данных текущей записи.

Взаимодействие с wt_location_search

Шорткод wt_location_search выводит поле поиска. Оформление результатов (тег, тип перехода, путь URL) задаётся глобальными переменными, которые выводит wt_locations. Рекомендуется размещать оба шорткода на одной странице.


Технические детали

  • Обработчик: WtGtShortcode::shortcodeLocations()
  • Файл: modules/WtGtShortcode/WtGtShortcode.php
  • Фильтр: wt_geotargeting_pro_shortcode_locations_atts — изменение атрибутов перед выводом

См. также

MAX