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

Настройка директорий

Документ описывает использование регионального сегмента в пути URL (директории первого уровня или тег %location% в ЧПУ) совместно с «WT GeoTargeting Pro». Расчёт на разработчиков: требуется понимание постоянных ссылок WordPress, хуков и класса WP_Rewrite.

Внимание. Полноценной «сборки сайта целиком на директориях» из коробки плагин не обеспечивает. Часть сценариев требует самостоятельной настройки правил перезаписи, ссылок в теме и совместимости с произвольными типами записей.


Что делает плагин без доработки темы

После настройки регионов в админке плагин может сопоставлять первый сегмент пути с slug региона и выставлять активную локацию. Если первый сегмент не совпадает ни с одним регионом (при включённой соответствующей логике в настройках), возможен ответ 404 — см. Настройка URL и URL, домены и поддомены.

Опции включаются в WT GeoTargeting → Субдомены и Url (раздел про директории и %location%).


Тег запроса %location% и ЧПУ

Чтобы использовать плейсхолдер региона в структуре постоянных ссылок, в WordPress обычно регистрируют тег перезаписи. Пример регистрации тега, который затем можно подставлять в настраиваемые правила:

// Тег для ЧПУ: значение подставляется в query var location=
add_rewrite_tag( '%location%', '([^/]+)', 'location=' );

Дальнейшую работу (правила add_rewrite_rule, порядок правил, сброс кэша правил после изменений) необходимо реализовать в теме или отдельном плагине. Плагин «WT GeoTargeting Pro» не заменяет полную настройку WP_Rewrite под произвольную структуру сайта.

Структура постоянных ссылок для записей

На экране Настройки → Постоянные ссылки можно задать произвольную базу, например:

/%location%/blog/%postname%/

После сохранения структуры и при корректных правилах перезаписи ссылки на записи должны формироваться стандартными функциями WordPress (get_permalink() и т.п.), если тема их использует. Для каждого нового типа записи при нестандартной базе URL обычно нужны дополнительные правила и обработка.


Меню: произвольные ссылки

В пунктах меню типа «Произвольная ссылка» в путь можно вписать шаблон с %location%. Плагин или тема должны подменять %location% на slug активного региона при выводе (через фильтры меню или собственную логику).

Пример в настройках меню: /%location%/uslugi/
На сайте при регионе «Самара»: /samara/uslugi/


Страницы и записи

При согласованной настройке правил и генерации ссылок адреса страниц и записей могут строиться автоматически, если в теме применяются штатные функции WordPress для URL. Любая кастомная генерация ссылок в шаблонах должна учитывать активный регион так же, как и ядро.


Ограничения: переменная %location% и региональные страницы

При включённой опции «Поддержка переменной запроса (%location%)» не работает полноценное использование отдельных страниц на регион (фильтрация по метабоксу «Регионы»). Включать её имеет смысл только при схеме с ?location=... или путём /%location%/, без опоры на региональные страницы. Если нужны региональные страницы и фильтрация контента — опцию рекомендуется отключить. Подробнее: Настройка URL.

См. также

MAX