Маска региона для пункта меню WT GeoTargeting

Для сайта Кураж-Концерт расширил возможность плагина 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().

Таким образом можно добавить использование маски везде на сайте.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *