À l'aide d'un navigateur de menu, ajoutez un élément personnalisé à la fin des éléments du menu.

9

Je dois ajouter un champ de recherche à la fin d'un menu dans un élément de liste.

J'ai regardé les marcheurs mais j'ai vraiment du mal à comprendre quel est le dernier article (ou même le total). Également où devrais-je ajouter le code pour l'élément personnalisé?

J'ai actuellement;

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>
    }
}
    
posée v3nt 16.05.2012 - 12:15

1 réponse

15

Vous n'avez pas besoin d'un déambulateur dans ce cas. Un filtre appelé wp_nav_menu_items est disponible. Il vous permet d’éditer les éléments de la liste d’un menu. Ajoutez simplement votre propre élément de liste avec un champ de recherche.

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

Remarque: si vous souhaitez uniquement cibler un menu spécifique, un filtre dynamique existe:

wp_nav_menu_{$menu->slug}_items

    
réponse donnée Geert 16.05.2012 - 12:31

Lire d'autres questions sur les étiquettes