Геолокация на WordPress плагином WT Geotargeting

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Задача. Необходимо вывести на WordPress-сайте блок в котором будет указан город посетителя с возможностью для него выбора своего или ближайшего населенного пункта. Например, часто можно встретить на сайтах такую фишку «Ваш город: Воронеж» и кликнув на ссылку открывается всплывающее окно, а в нем список городов, которые можно выбрать. Нужен плагин для определения и выбора города посетителя, а в зависимости от локации пользователя должны выводиться различные контактные данные.

Ваш город: Варшава

/* Стили всплывающего окна по-умолчанию */
.modal {
position: fixed; /* фиксированное положение */
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.5); /* фон */
z-index: 1050;
opacity: 0; /* по умолчанию модальное окно прозрачно */
-webkit-transition: opacity 200ms ease-in;
-moz-transition: opacity 200ms ease-in;
transition: opacity 200ms ease-in; /* анимация перехода */
pointer-events: none; /* элемент невидим для событий мыши */
margin: 0;
padding: 0;
}
/* При отображении модального окно */
.modal:target {
opacity: 1; /* делаем окно видимым */
pointer-events: auto; /* элемент видим для событий мыши */
overflow-y: auto; /* добавляем прокрутку по y, когда элемент не помещается на страницу */
}
/* ширина модального окна и его отступы от экрана */
.modal-dialog {
position: relative;
width: auto;
margin: 10px;
}
@media (min-width: 576px) {
.modal-dialog {
max-width: 500px;
margin: 30px auto; /* отображение окна по центру */
}
}
/* Стили для блока с контентом окна */
.modal-content {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
background-color: #fff;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid rgba(0,0,0,.2);
border-radius: .3rem;
outline: 0;
}
@media (min-width: 768px) {
.modal-content {
-webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
box-shadow: 0 5px 15px rgba(0,0,0,.5);
}
}
/* Стили заголовка окна */
.modal-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
padding: 15px;
border-bottom: 1px solid #eceeef;
}
.modal-title {
margin-top: 0;
margin-bottom: 0;
line-height: 1.5;
font-size: 1.25rem;
font-weight: 500;
color: #111314;
}
/* Стили кнопки “х” (“Закрыть”) */
.close {
float: right;
font-family: sans-serif;
font-size: 24px;
font-weight: 700;
line-height: 1;
color: #000;
text-shadow: 0 1px 0 #fff;
opacity: .5;
text-decoration: none;
}
/* Стили для закрывающей кнопки в фокусе или наведении */
.close:focus, .close:hover {
color: #000;
text-decoration: none;
cursor: pointer;
opacity: .75;
}
/* Стили блока основного содержимого окна */
.modal-body {
position: relative;
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
padding: 15px;
overflow: auto;
}

Как это можно использовать. Геолокацию (геотаргетинг) можно использовать для показа пользователю определенного контента в зависимости от его локации (города). Например, показывать посетителю разные номера телефонов, адресов, или подставить в контент название города (например, «доставка осуществляется в город [Львов]») в зависимости от его географического местоположения.

Решение. На данный момент, возможно, лучшим бесплатным решением для сайтов ориентированных на Россию, Украину и СНГ будет плагин WT Geotargeting. Он шорткодом выводит определившийся город. Но выводит только текст (не ссылкой как в примере), т.е. нужно отдельно оформить всплытие модального окна с выбором городов. Также, если перейти по ссылке с параметром вида ?wt_city_by_default=Москва (например, href="/page-1/?wt_city_by_default=Москва), то мы перейдем на страницу page-1, но уже шорткод здесь выведет город «Москва». Таким образом, нам нужно:

  • вывести шорт кодом город,
  • сделать его в виде активной ссылки,
  • привязать к нему всплывающее окно в котором укажем список нужных городов, обернув каждый в ссылку с указанием параметра ?wt_city_by_default=Город.

Основные шорткоды и параметры для настройки геолокации плагином WT Geotargeting

Код №1: Вывод города пользователя, который определился в WT Geotargeting

Чтобы отобразить номер телефона для пользователя в зависимости от его города (географического местоположения) можно воспользоваться Кодом №2. Тип («phone») может быть своим, это необходимо для группировки:

Код №2: Вывод номера телефонов в зависимости от города пользователя

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

Атрибуты

type — Тип контента. Любое произвольное имя объединяющее группу условий.
city_show — Условие «Совпадение города».
city_not_show — Условие «Несовпадение города».
region_show — Условие «Совпадение региона».
region_not_show — Условие «Несовпадение региона».
district_show — Условие «Совпадение округа».
district_not_show — Условие «Несовпадение округа».
country_show — Условие «Совпадение страны». Написание в формате «Альфа-2».
country_not_show — Условие «Несовпадение страны». Написание в формате «Альфа-2».
default — Значение по умолчанию. Рекомендуется использовать всегда, так как в случае отсутствия подключения к базе IP-адресов, значение Default выведется в обязательном порядке.
get — Вывод на экран значений региона пользователя. Доступные параметры атрибута: ip, country, city, region, district, lat, lng.

Код №3: Формирование ссылки для выбора города в WT Geotargeting

Алгоритм вывода на сайте города посетителя с возможностью изменить местоположение:

1. Устанавливаем плагин WT Geotargeting.

2. Устанавливаем (если нет) любой плагин, который выводит попап-окно, например Popup Maker или Popup Builder.

3. В шапке сайта размещаем шорткод и рядом текст Ваш город: [wt_geotargeting get="city"].

4. Создаем popup-окно в котором размещаем нужные города ссылками с параметром ?wt_city_by_default=Город, например, как в Код №4:

Код №4: Список выбора городов ссылками

5. Если используется Pro-версия плагина, то можно еще добавить поиск города — Код №5 (и продолжение этой настройки в п.6):

Поиск по городам плагином WT Geotargeting
Изображение №1: Список городов и поиск

Код №5: Поле поиска по городу (только для WT Geotargeting Pro, предварительно нужно скачать и импортировать во вкладке «WT GeoTargeting — Импорт» список городов cities.txt

6. Также, чтобы работал поиск по городам необходимо загрузить список городов файл cities.txt в меню WT Geotargeting Pro — Импорт:

Настройки импорта городов в WT Geotargeting Pro
Изображение №2: Настройки импорта городов в WT Geotargeting Pro
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии