Ajouter des menus personnalisés à WordPress

Ajouter des menus personnalisés à WordPress

Pour débutants
5 1 vote
Évaluation de l'article

Lorsque vous utilisez WordPress pour créer un site internet ou un blog, vous pouvez être amené à créer des menus supplémentaires ou à en supprimer. Ces menus spécifiques vous permettent d’ajouter des navigations secondaires sur votre site.

Dans cet article, nous allons vous expliquer comment ajouter facilement des emplacements de menus personnalisés dans le fichier functions.php de votre thème WordPress.

Comprendre les menus dans WordPress

Le système de menus intégré à WordPress

WordPress dispose d’un système de menus intégré qui vous permet de créer des menus personnalisés et de les placer dans différents emplacements de votre thème. Ces emplacements sont définis dans le fichier functions.php. Ainsi, selon les thèmes, vous pouvez avoir différents menus qui sont appelés dans des parties spécifiques de votre thème (footer, header, etc.).

Les emplacements de menus prédéfinis dans les thèmes

Pour être affiché sur le site, un menu doit être rattaché à un ou plusieurs emplacements. On pourrait donc potentiellement rajouter 2 menus à l’emplacement « pied de page ».
Cependant, les emplacements de menus disponibles peuvent varier d’un thème à l’autre. Chaque thème peut avoir ses propres emplacements prédéfinis, tels que le menu principal, le menu du pied de page, le menu latéral, etc.

Ajouter des menus personnalisés à WordPress

Accéder à l’interface de gestion des menus

Pour commencer, accédez à l’interface d’administration de WordPress et rendez-vous dans « Apparence > Menus ».
Cette interface vous permet de créer et de gérer vos menus.

Tutoriel pour Ajouter des menus personnalisés à WordPress, apprenez à gérer vos menus dans WordPresss

Sur cette interface, nous allons retrouver plusieurs parties

Créer un nouveau menu personnalisé

Pour créer un nouveau menu, cliquez sur « Créer un nouveau menu » (voir l’image ci-dessus, le point n°3).

Indiquez ensuite

  • Donnez un nom à votre menu
  • Attachez-le à un emplacement
  • En option, vous pouvez indiquer que par défaut, chaque nouvelle page créée sera automatiquement ajoutée à ce menu
  • Enregistrez le menu

Ajouter des éléments de menu

Maintenant, vous pouvez ajouter des éléments à votre menu. Vous pouvez choisir parmi différentes options, telles que les pages, les articles, les liens personnalisés, les catégories, etc. Cochez les éléments souhaités et ajoutez-les à votre menu.

Il peut arriver que tous vos « types d’articles » ou catégories n’apparaissent pas.

Pour régler ce problème, rendez-vous dans « Options de l’écran » (situé en haut à droite) et cochez les éléments souhaités.

Tutoriel pour Ajouter des menus personnalisés à WordPress, options de l'écran

Pour ajouter un élément, cliquez sur l’élément désiré pour qu’il soit inséré dans votre menu.

Tutoriel pour Ajouter des menus personnalisés à WordPress, gérer les menus

Dans l’onglet de menu que vous venez d’ajouter, vous pourrez modifier le texte qui apparaitra dans votre menu.

Ainsi, choisissez un texte plus intuitif, plus pertinent et court. N’oubliez pas qu’un élément de menu n’est pas une phrase.

Organiser la structure du menu (glisser-déposer, sous-menus)

Une fois que vous avez ajouté tous les éléments de menu, vous pouvez organiser la structure de votre menu. Utilisez la fonctionnalité glisser-déposer pour réorganiser les éléments et créer des sous-menus si nécessaire.

Tutoriel pour Ajouter des menus personnalisés à WordPress, gérer les sous menus

Les sous menu

Les sous-menus sont des menus qui apparaissent lorsque vous placez un élément de menu en dessous d’un autre élément. Cela permet de créer une structure hiérarchique dans votre menu.

Attention, dans le cadre des sous menus, il faut penser qu’en responsive le lien parent (ici l’intitulé « Ma page » dans l’image ci-dessus) ne servira qu’à ouvrir les sous menus, vous n’aurez pas accès au contenu de votre page.

Je vous conseille donc de faire un lien personnalisé où l’on va rendre inactif le lien :

Tutoriel pour Ajouter des menus personnalisés à WordPress, utiliser un lien personnalise

Gestion des emplacements de menu

Les différents emplacements de menu dans les thèmes populaires

Comme je vous l’ai indiqué précédemment, les emplacements de menu disponibles peuvent varier en fonction du thème que vous utilisez. Cependant, certains emplacements sont couramment utilisés, tels que :

Menu principal (Primary menu) : C’est l’emplacement de menu le plus fréquemment utilisé. Il est généralement affiché en haut de la page et contient les liens vers les principales sections du site.

Le menu de pied de page (Footer): Ce menu est affiché en bas de chaque page, généralement dans le pied de page du site. Il est utilisé pour afficher des liens tels que les mentions légales, les conditions d’utilisation, etc.

Menu de navigation mobile (Mobile Navigation) : Certains thèmes proposent un emplacement spécifique pour le menu de navigation sur les appareils mobiles. Ce menu est conçu pour offrir une expérience de navigation optimisée sur les petits écrans.

Menu latéral (Sidebar) : Dans certains thèmes, vous pouvez placer un menu dans la barre latérale du site, généralement utilisé pour afficher des liens supplémentaires.

Ajouter des menus personnalisés à WordPress : créer ou supprimer un emplacement

Si vous souhaitez créer un nouvel emplacement de menu personnalisé, vous pouvez le faire en ajoutant du code dans le fichier functions.php de votre thème.

function inumedia_ajout_menu() {
   register_nav_menu( 'nom-emplacement-menu', 'Description de l\'emplacement du menu' );
}
add_action( 'after_setup_theme', 'inumedia_ajout_menu' );

De même, si vous souhaitez supprimer un emplacement prédéfini, vous pouvez également le faire en modifiant le code correspondant. Il va falloir repérer l’identifiant de l’emplacement.

Tutoriel ajouter un nouveau menu dans l'administration

Je vais faire un clic droit sur « Menu secondaire » et cliquer sur « Inspecter » et récupérer l’identifiant de l’emplacement de mon menu.

Ici, on voit « locations-footer », l’identifiant de l’emplacement de mon menu est « footer ».

Tutoriel pour Ajouter des menus personnalisés à WordPress, récupérer l'identifiant d'un emplacement de menu
function deregister_emplacement_menu() {
   unregister_nav_menu( 'identifiant-emplacement-menu' ); // Ici on indiquera " footer "
}
add_action( 'after_setup_theme', 'deregister_emplacement_menu' );

Affecter emplacement prédéfini dans son thème

Pour afficher un menu à un emplacement spécifique dans votre thème, vous pouvez utiliser la fonction wp_nav_menu(). Cette fonction vous permet de spécifier l’emplacement du menu dans le code de votre thème.

Choisissez tout d’abord l’élément désiré pour placer votre code :

  • header.php : les entêtes
  • footer.php : les pieds de pages
  • page.php : le modèle de page. Ça ne s’affichera que dans vos pages.
  • single.php : le modèle d’article. Ça ne s’affichera que dans vos articles.
  • category.php /archive.php : le modèle catégories.
  • sidebar.php : Les colonnes latérales de vos pages ou articles.

Puis indiquez ce code :

wp_nav_menu(array(
        'theme_location' => 'identifiant-emplacement-menu',
        'menu_class' => 'classe-du-menu',
        'container' => 'nav',
));

Explications :

  • On crée la fontion wp_nav qui contient un tableau
  • On indique l’identifiant de l’emplacement
  • On peut ajouter une classe personnalisée à ce menu
  • On indique que notre menu sera entre les balises “nav”

Si vous souhaitez utiliser 2 emplacements : 1 pour le mobile et un pour le desktop on peut utiliser cette fonctionnalité :

if (is_mobile()){ // Si c'est mobile ou tablette
wp_nav_menu(array(
        'theme_location' => 'identifiant-emplacement-menu-mobile', // On affiche cet emplacement
        'menu_class' => 'classe-du-menu',
        'container' => 'nav',
));
}else{ // sinon
wp_nav_menu(array(
        'theme_location' => 'identifiant-emplacement-menu-desktop', // On affiche celui-ci 
        'menu_class' => 'classe-du-menu',
        'container' => 'nav',
));
}

L’option « is_mobile() » n’est pas préconisé par le support de WordPress pour ce type d’utilisation, mais ça fonctionne parfaitement.

Si vous n’utilisez pas le php ou le JS mais que vous cachez votre menu inutilisé en CSS, cela chargera quand même ce dernier, il ne sera pas visible, mais chargé.
Cacher un élément par CSS, n’est pas idéal, car vous pouvez rapidement augmenter le nombre de requêtes et donc alourdir votre temps de chargement.
Cela serait un peu cacher les choses sous le tapis, ce n’est pas parce que vous ne les voyez pas qu’ils ne sont pas là.
Malheureusement, beaucoup de constructeurs de pages fonctionnent sur ce principe. C’est pourquoi l’optimisation d’un site fait avec un builder peut être problématique.

En conclusion

Les menus jouent un rôle essentiel dans la navigation et l’expérience utilisateur de votre site, en permettant aux visiteurs de trouver facilement le contenu qu’ils recherchent. Ce tutoriel vous a appris à appréhender les bases nécessaires à la maitrise des menus sur WordPress.

Dans un prochain tutoriel, nous irons plus loin dans la personnalisation de vos menus

Vous souhaitez un développeur front-end ?

Intégrez vos designs dans vos pages web