Как передать новый пункт меню wp как переменную? - PullRequest
0 голосов
/ 19 апреля 2019

Я использую этот WP-фильтр, чтобы добавить новый пункт в мое меню "main-menu".

    $logo = 'my logo';
    function new_nav_menu_items($items, $args) {
        if($args->theme_location == 'main-menu') {
            $new_item = '<li class="spec"><a href="#"> $logo </a></li>';
            $items = $new_item.$items;
        }
        return $items;
    }
    add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);

    wp_nav_menu(
    array(
        'theme_location' => 'main-menu',
        'depth' => '3',
        'link_before' => '<span>',
        'link_after' => '</span>',
        'echo' => true ,
        'items_wrap' => '<ul class="%2$s clearfix">%3$s</ul>',
    )
);

Проблема в том, что фильтр возвращает главное меню с новым элементом, но с пустым значением. он не выводил значение элемента (мой логотип), если передавалось как переменная.

1 Ответ

0 голосов
/ 20 апреля 2019

Я решаю это, передавая свое значение с помощью функции

function my_logo() {
    $logo = 'my logo';
    return $logo;  
}

function new_nav_menu_items($items, $args) {
if($args->theme_location == 'main-menu') {
    $new_item = '<li class="spec"><a href="#"> my_logo() </a></li>';
    $items = $new_item.$items;
}
return $items;
}
add_filter('wp_nav_menu_items', 'new_nav_menu_items', 10, 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...