За допомогою прогулянника меню додайте спеціальний елемент у кінці пунктів меню


10

Мені потрібно додати поле пошуку в кінці меню в пункті списку.

Я дивився на пішоходів, але мені важко зрозуміти, що є останнім предметом (або навіть отримати загальну суму). Також куди б я додати код для спеціального елемента.

На даний момент у мене є;

class mainNav_walker extends Walker_Nav_Menu
{
    public function start_el( &$output, $item, $depth, $args )
    {
        //print_r($item);

        $output .= $this->custom_content( $item );
        parent::start_el( &$output, $item, $depth, $args );
    }

    protected function custom_content( $item )
    {
       // add <li>SEARCH FIELD HERE?</li>
    }
}

Відповіді:


19

У цьому випадку вам не потрібен ходок. Доступний фільтр, який називається wp_nav_menu_items. Це дозволяє редагувати елементи списку меню. Просто додайте власний елемент списку до поля пошуку.

add_filter( 'wp_nav_menu_items', 'add_search_to_nav', 10, 2 );

function add_search_to_nav( $items, $args )
{
    $items .= '<li>SEARCH</li>';
    return $items;
}

Примітка. Якщо ви хочете націлювати лише на певне меню, існує динамічний фільтр:

wp_nav_menu_{$menu->slug}_items


туз - повністю забув про цей метод ... дякую.
v3nt

3
Ви можете встановити прапорець, $argsщоб додати пошук лише до певної тематики (меню).
Стівен Харріс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.