Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
25 millions+
Sites web utilisant nos plugins
16+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment ajouter la première et la dernière classe CSS aux éléments de menu WordPress

Avez-vous déjà remarqué des sites web avec des éléments de menu uniques stylisés en premier et en dernier ? Ce n'est pas un hasard, c'est une astuce CSS. Cette technique peut mettre en évidence des liens importants, comme votre page de contact ou une offre spéciale.

Beaucoup de nos lecteurs ont essayé d'ajouter des classes personnalisées à leurs éléments de menu, pour constater que lorsqu'ils réorganisent leur menu, le style se casse. Les éléments étiquetés comme 'premier' et 'dernier' ne sont plus à ces positions, laissant le menu incohérent.

C'est pourquoi ce guide vous montrera comment ajouter une classe .first et .last qui restera attachée à vos éléments de menu, même si vous les déplacez plus tard. Nous couvrirons deux méthodes : un filtre pour les thèmes classiques et des sélecteurs CSS pour tous les thèmes, y compris les thèmes de bloc.

Comment ajouter la classe First & Last aux éléments de menu de navigation WordPress

Pourquoi styliser différemment les premier et dernier éléments de navigation ?

Parfois, vous devrez peut-être ajouter un style personnalisé aux premier et dernier éléments d'un menu de navigation. Cela peut faire ressortir des liens importants, tels que le lien vers le formulaire de contact de votre site ou la page de panier WooCommerce.

Dans ce cas, vous pourriez simplement ajouter une classe CSS personnalisée aux premier et dernier éléments de menu. Cependant, si vous changez l'ordre du menu à tout moment, cela pourrait complètement casser le style personnalisé.

Pour cette raison, nous recommandons d'utiliser des filtres à la place.

Dans ce guide, nous vous montrerons comment styliser le premier et le dernier élément de votre menu de navigation, afin que vous puissiez réorganiser le menu sans casser le style personnalisé. Utilisez simplement les liens rapides ci-dessous pour accéder directement à la méthode que vous souhaitez utiliser :

Astuce de pro : Vous souhaitez mettre en évidence un élément de menu sur votre site Web ? Consultez notre guide sur comment mettre en évidence un élément de menu dans WordPress pour plus d'informations.

Méthode 1 : Ajouter une classe Premier et Dernier à l'aide d'un filtre (recommandé)

Remarque : Cette méthode ne fonctionne qu'avec un thème WordPress classique. Si vous utilisez un thème de bloc, accédez à la Méthode 2.

La manière la plus simple de styliser les éléments de votre menu de navigation est d'ajouter un filtre à votre thème.

Souvent, vous trouverez des extraits de code dans les tutoriels WordPress avec des instructions pour les ajouter au fichier functions.php de votre thème.

Le plus gros problème est qu'une petite erreur dans l'extrait de code personnalisé peut casser votre site WordPress et le rendre inaccessible. Sans parler du fait que si vous mettez à jour votre thème WordPress, vous perdrez toutes vos personnalisations.

C'est là que WPCode intervient.

Ce plugin gratuit permet d'ajouter facilement du CSS, du PHP, du HTML personnalisé, etc. à WordPress sans mettre votre site en danger.

La première chose à faire est d'installer et d'activer le plugin gratuit WPCode. Pour plus de détails, consultez notre guide étape par étape sur comment installer un plugin WordPress.

Après l'activation, rendez-vous sur Extraits de code » Ajouter un extrait.

Ajout d'un extrait de code personnalisé avec WPCode

Ici, survolez simplement votre souris sur ‘Ajouter votre code personnalisé.’

Lorsqu'il apparaît, cliquez sur ‘Utiliser l'extrait.’

Ajout d'un extrait de code personnalisé à un site WordPress avec WPCode

Pour commencer, tapez un titre pour l'extrait de code personnalisé. Cela peut être n'importe quoi qui vous aide à identifier l'extrait dans le tableau de bord WordPress.

Après cela, ouvrez le menu déroulant ‘Type de code’ et sélectionnez ‘Extrait PHP.’

Ajout d'un extrait PHP personnalisé à WordPress avec WPCode

Vous pouvez ensuite ajouter le code PHP suivant dans la boîte de code :

function wpb_first_and_last_menu_class($items) {
    $items[1]->classes[] = 'first';
    $items[count($items)]->classes[] = 'last';
    return $items;
}
add_filter('wp_nav_menu_objects', 'wpb_first_and_last_menu_class');

Après cela, vous êtes prêt à faire défiler jusqu'en haut de l'écran et à cliquer sur le bouton ‘Inactif’ pour qu'il devienne ‘Actif.’

Enfin, cliquez sur ‘Enregistrer l'extrait’ pour rendre l'extrait PHP actif.

Ajout d'un style personnalisé à un menu de navigation avec WPCode

Cela crée des classes CSS .first et .last pour vos premier et dernier éléments de menu. Vous pouvez maintenant utiliser ces classes pour appliquer un style unique à ces éléments sur votre menu de navigation personnalisé.

Pour ce faire, vous devrez ajouter un deuxième extrait de code à votre site WordPress. Pour commencer, créez un nouvel extrait de code personnalisé en suivant le même processus décrit ci-dessus.

Après cela, tapez un titre pour le fragment de code personnalisé.

Ensuite, ouvrez le menu déroulant « Type de code », mais cette fois, sélectionnez « Extrait CSS ».

Mise en forme des premiers et derniers éléments de menu avec WPCode

Pour ce guide, nous allons simplement mettre en gras les premier et dernier éléments de menu en ajoutant le formatage CSS suivant à la boîte de code :

.first a {font-weight: bold;}

.last a {font-weight: bold;}

Une fois cela fait, cliquez sur le bouton « Inactif » pour qu'il devienne « Actif ».

Ajout d'un style personnalisé à un menu avec du code

Enfin, cliquez sur « Enregistrer l'extrait » pour rendre l'extrait CSS actif.

Maintenant, si vous visitez votre site Web, vous verrez le menu nouvellement stylisé en direct.

Un exemple de menu WordPress, créé avec WPCode

Méthode 2 : Styliser les premiers et derniers éléments à l'aide de sélecteurs CSS (fonctionne avec tous les thèmes)

Si vous ne souhaitez pas utiliser un plugin d'extraits de code, vous pouvez styliser les premier et dernier éléments de menu à l'aide de sélecteurs CSS. Cependant, cette méthode peut ne pas fonctionner avec certains anciens navigateurs, tels qu'Internet Explorer.

Dans cet esprit, il est conseillé de tester votre site WordPress dans différents navigateurs.

Pour suivre cette méthode, vous devrez ajouter du code à la feuille de style de votre thème ou à la section « CSS additionnel » du personnalisateur de thème WordPress.

Si vous n’avez jamais fait cela auparavant, consultez notre guide sur comment ajouter facilement du CSS personnalisé à votre site WordPress.

La première étape consiste à modifier le fichier style.css de votre thème ou à vous rendre dans Apparence » Personnaliser, puis à cliquer sur « CSS additionnel ».

Le personnaliseur de thème WordPress

Après cela, ajoutez l'extrait de code suivant à votre site :

ul#yourmenuid > li:first-child { }
ul#yourmenuid > li:last-child { }

Notez que vous devrez remplacer « yourmenuid » par l'ID de votre menu de navigation.

Les sélecteurs « first-child » et « last-child » sélectionnent le premier et le dernier enfant de leur parent, qui sont les premier et dernier éléments du menu de navigation.

Par exemple, nous avons utilisé ce code pour mettre en gras les premier et dernier éléments du menu de navigation sur notre blog WordPress :

ul#primary-menu-list > li:first-child a {
    font-weight: bold;
}
ul#primary-menu-list > li:last-child a {
    font-weight: bold;
}
Utiliser les sélecteurs CSS pour styliser différemment les premiers et derniers éléments de menu

Si vous utilisez un thème WordPress basé sur des blocs, le personnalisateur de thème sera manquant dans votre administration WordPress. Vous devez entrer cette URL dans votre navigateur pour accéder au personnalisateur de thème :

https://yourdomainname.com/wp-admin/customize.php

Assurez-vous de remplacer « domain » par le nom de domaine de votre site web.

Après cela, ouvrez l'onglet « CSS additionnel » comme précédemment et insérez le code suivant. Notez que le code est légèrement différent car vous n'avez pas besoin d'ajouter l'ID de votre menu.

li:first-child a,
li:last-child a {
    background-color: black;
    border: none;
    color: white !important; /* Ensures the color white is prioritized */
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 12px;
}

N'hésitez pas à personnaliser le code selon vos besoins. Dans l'exemple ci-dessous, nous avons transformé les premiers et derniers liens en boutons.

Voici à quoi cela ressemble :

Insertion de CSS personnalisé dans le thème bloc pour la mise en forme des premiers et derniers liens de navigation

Nous espérons que ce tutoriel vous a aidé à apprendre comment ajouter les classes .first et .last aux menus de navigation WordPress. Vous pourriez également vouloir consulter notre article sur comment créer un menu de navigation vertical dans WordPress et notre guide pour débutants sur la création d'un menu déroulant sur un site WordPress.

Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

19 CommentsLeave a Reply

  1. j'ai légèrement modifié le code pour qu'il fonctionne aussi avec les sous-menus :

    function wpb_first_and_last_menu_class($items) {

    foreach($items as $k => $v) { $parent[$v->menu_item_parent][] = $v; }

    foreach($parent as $k => $v) { $v[0]->classes[] = ‘first’; $v[count($v)-1]->classes[] = ‘last’; }

    return $items;

    }

    add_filter(‘wp_nav_menu_objects’, ‘wpb_first_and_last_menu_class’);

  2. Merci pour ce joli code…

    Qu'en est-il du premier et du dernier élément du menu enfant ?
    Il s'est appliqué uniquement au menu parent.

    Avez-vous une idée pour le dernier élément enfant ?

  3. Anyone have any tip about use add_filter(”); for wp_nav_menu using STARKERS?
    can’t make it works :( JS and CSS are fine to do that, it is just frustrating to don’t be able to fix it from the back…
    thanks to share anyway!!

      • Cela fonctionne lorsque l'élément de menu est le dernier, ou le dernier enfant d'un élément de menu final.
        Cela ne fonctionne pas lorsque l'élément de menu est un dernier enfant d'un élément de menu qui n'est pas le dernier.

  4. Avec quelques autres ajouts à functions.php que j'ai essayés, ce code ne parvient pas à marquer un élément de menu comme premier ou dernier élément de menu lorsqu'ils sont dans un sous-menu. Une solution pour cela serait formidable !

  5. Génial ! C'est particulièrement intéressant car je dois classer plus de 2 éléments de menu…
    Maintenant, j'ai compris !

    Merci

  6. Merci pour ça ! Pardonnez-moi si je l'ai manqué – mais – y a-t-il un exemple de menu pour voir la différence dans la navigation créée par cette classe ? Merci encore !

    • Le site que nous avons conçu pour notre client n'est pas encore en ligne. Mais la raison principale était que nous voulions avoir une bordure à gauche du premier élément de menu. Tous les autres éléments avaient un élément de bordure à droite avec un padding et une marge spécifiques. Nous avons utilisé la dernière classe pour supprimer la marge droite et la bordure droite car il n'y en avait pas besoin. Cela heurtait le conteneur d'enveloppement. J'espère que vous pouvez le visualiser.

      Admin

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.