Для сайта Кураж-Концерт расширил возможность плагина WT GeoTargeting несколькими строчками кода. Расширенный функционал позволяет использовать маски региона внутри пунктов меню.
Вот так добавляем маску к пункту меню:
Далее ищем файл плагина /wp-content/plugins/wt_geotargeting_pro/modules/WtGtPost/WtGtPost.php
И добавляем в него фильтр:
// Поддержка маски в пунктах меню
add_filter( 'wp_nav_menu', array($this, 'filterMenuItem'), 22, 2 );
И ниже саму функцию:
public function filterMenuItem( $nav_menu, $args ) {
preg_match_all("/{([_a-z]+)}/", $nav_menu, $matches);
$variables = $matches[1];
foreach ($variables as $key => $value){
$nav_menu = preg_replace(
'/{' . $value . '}/',
WT::$obj->contacts->getValue($value),
$nav_menu);
}
return $nav_menu;
}
За основу я взял функцию updateTitleByMask(). Уточню что для вывода меню я использовал функцию wp_nav_menu().
Таким образом можно добавить использование маски везде на сайте.