Ajouter un item à wp_nav_menu

Ajouter un item à wp_nav_menu

J’ai un peu cherché comment faire pour ajouter manuellement un item de menu dans un menu paramétré dans WordPress. j’ai surtout essayé d’utiliser le paramètre items_wrap de la fonction mais sans succès.
J’ai donc trouvé la parade, un peu plus lourde, le filtre : wp_nav_menu_items
Ma problématique était de personnaliser en fonction que le membre soit connecté ou non l’item de connexion ou d’accès au profil.

[pastacode provider= »manual » lang= »php » message= »Ajout d’un item via un filtre en fonction du menu »]

function user_item($items, $args) {

   	$newitems = '';

    if( 'Main' == $args->menu ) {

 		$href =  home_url( '/myprofile/' );

		if( is_user_logged_in() ) {
			$item_info = 'My profile';
		}
		else{
			$item_info = 'Sign In';
		}
		$newitems = '<li><a href="' . $href . '">' . $item_info .'</a></li>';
	}

	return $items . $newitems;

}
add_filter( 'wp_nav_menu_items', 'user_item' , 10, 2);

[/pastacode]

 

Vous noterez la ligne :

[pastacode provider= »manual » lang= »php »]

  if( 'Main' == $args->menu ) {

[/pastacode]

Ou Main est le nom / slug du menu à configurer.

 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *