Плагин «WT GeoTargeting Pro» предоставляет хуки для расширения функциональности.
События (actions)
wt_geotargeting_initialization_end
С версии 1.5.6 Pro — хук-событие, выполняемое по окончании инициализации плагина, после определения и сохранения местоположения посетителя.
Так как хук срабатывает в процессе подключения плагина, обработчики необходимо регистрировать до этой точки (например, в Must-Use plugins — каталог wp-content/mu-plugins/).
Параметр: $data — массив данных геолокации и региона. Набор ключей зависит от сервиса геолокации и сценария; типичные поля: city, region, district, country (при наличии в данных).
Пример: проверка города
|
1 2 3 4 5 6 7 |
add_action( 'wt_geotargeting_initialization_end', 'my_location_handler', 10, 1 ); function my_location_handler( $data ) { if ( ! empty( $data['city'] ) ) { // Действия с городом } } |
Пример: запись в $_SESSION (как в документации на сайте)
Использование сессии PHP предполагает, что сессия уже запущена до вызова обработчика (например, через session_start() в MU-плагине или ином коде, выполняемом достаточно рано). WordPress по умолчанию сессии не поднимает.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
add_action( 'wt_geotargeting_initialization_end', 'create_location_session_variables', 10, 1 ); function create_location_session_variables( $data ) { if ( ! empty( $data['city'] ) ) { $_SESSION['city'] = $data['city']; } if ( ! empty( $data['region'] ) ) { $_SESSION['region'] = $data['region']; } if ( ! empty( $data['district'] ) ) { $_SESSION['district'] = $data['district']; } if ( ! empty( $data['country'] ) ) { $_SESSION['country'] = $data['country']; } } |
Предложения по добавлению новых хуков можно оставить в обсуждении на странице плагина на WordPress.org.
Фильтры
wt_geotargeting_pro_shortcode_locations_atts
Изменение атрибутов шорткода [wt_locations] перед выводом.
Параметр: $atts — массив атрибутов.
wt_geotargeting_debug_info_sections
Добавление секций в блок отладки в подвале сайта.
Параметр: $sections — массив секций. Каждая секция: id, title, content.