Za pomocą narzędzia do chodzenia po menu dodaj niestandardowy element na końcu elementów menu


10

Muszę dodać pole wyszukiwania na końcu menu w elemencie listy.

Patrzyłem na piechurów, ale ciężko mi było zorientować się, jaki jest ostatni przedmiot (a nawet uzyskać całość). Również gdzie mam dodać kod dla niestandardowego elementu.

Obecnie mam;

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>
    }
}

Odpowiedzi:


19

W tym przypadku nie potrzebujesz chodzika. Filtr o nazwie wp_nav_menu_itemsjest dostępny. Pozwala edytować elementy listy menu. Wystarczy dołączyć własny element listy z polem wyszukiwania.

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;
}

Uwaga: jeśli chcesz kierować reklamy tylko na określone menu, istnieje filtr dynamiczny:

wp_nav_menu_{$menu->slug}_items


as - całkowicie zapomniałem o tej metodzie ... dzięki.
v3nt

3
Możesz zaznaczyć opcję, $argsaby dodać wyszukiwanie tylko do określonej lokalizacji motywu (menu).
Stephen Harris
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.