X

Ajouter une classe de corps personnalisée pour des pages spécifiques

Extraits par IsItWP

Vous cherchez un moyen d'ajouter une classe de corps personnalisée pour des pages spécifiques ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour ajouter une classe de corps personnalisée pour des pages spécifiques dans WordPress.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

add_filter( 'body_class', 'my_neat_body_class');
function my_neat_body_class( $classes ) {
     if ( is_page(7) || is_category(5) || is_tag('neat') )
          $classes[] = 'neat-stuff';

     return $classes; 
}

Ajoutez cet extrait de code au fichier header.php de votre thème WordPress pour remplacer votre balise de corps HTML par défaut.

<body <?php body_class(); ?>>

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 27 meilleurs thèmes WordPress pour entreprises et 7 meilleurs plugins WordPress GDPR.

Commentaires   Laisser une réponse

  1. Est-ce que quelque chose de similaire est possible mais pour un #id ? Je ne veux pas de classe .id

    1. Vous pouvez toujours utiliser la classe .page-id : https://developer.wordpress.org/reference/functions/body_class/

      Cela dit, pour les identifiants réels, vous pourriez ajouter un id au fichier de modèle lui-même et utiliser des conditionnels pour contrôler quand il s'affiche.

  2. super ! ça m'a beaucoup aidé.

  3. Freelance Web Designer June 3, 2014 at 3:30 pm

    où puis-je ajouter une classe une fois les étapes ci-dessus terminées ?

    1. changez la classe dans le code « neat-stuff » à ce que vous voulez. Vous pouvez même ajouter
      plusieurs classes si nécessaire.

      1. Freelance Web Designer June 3, 2014 at 3:39 pm

        je veux un id / une classe différent pour chaque page... comment l'assigner à une page spécifique ?

        1. Cet extrait n'est pas ce dont vous avez besoin, il n'ajoutera qu'une seule classe à

          “is_page(7) || is_category(5) || is_tag(‘neat’)

          Une page avec l'ID 7 ou la catégorie 5 ou une page qui a le tag neat. Je pense que ce qui correspondrait mieux à vos besoins est ce qui suit.

          http://wpsnipp.com/index.php/functions-php/add-parent-page-slug-to-body_class/

          Cela ajoutera le slug de la page comme classe pour la page avec le préfixe parent-{page_slug}. Outre l'ajout de cet extrait à functions.php, rien d'autre ne doit être fait. Regardez également ce résultat de recherche pour plus d'extraits liés à body_class http://wpsnipp.com/?s=body_class

          Je suis sûr que vous en trouverez quelques-uns qui sont utiles.

          1. Freelance Web Designer June 3, 2014 at 4:24 pm

            merci !

  4. Fonctionne parfaitement pour moi, bon travail !

  5. Merci beaucoup pour cela, vraiment apprécié !

  6. Merci pour cela, je voulais un nom de classe de corps plus court pour un modèle de page personnalisé, en utilisant is_page_template (‘template-name.php’) et cela a parfaitement fonctionné.

  7. peut-ce être combiné avec l'autre snippet de classe de corps afin que si les pages ne sont pas spécifiées, elles aient par défaut leur propre page comme classe ?

    1. Devrait être capable de faire simplement

           if ( is_page(7) || is_category(5) || is_tag(‘neat’) ){
                $classes[] = ‘neat-stuff’;          }else{
                $classes[] = ‘other-class’;

                }

  8. Y a-t-il quelque chose que vous devez faire après avoir ajouté la classe ? Je ne vois aucun moyen d'ajouter une classe personnalisée pour une page...

    1. Salut Trevor,
      Oui, vous devrez ajouter la fonction body_class() dans la balise body. J'ai mis à jour l'extrait pour éviter toute confusion.

  9. Très pratique. Quelque chose de similaire peut-il être fait en utilisant le parent de la page ?

    1. Bien sûr, vous pourriez faire quelque chose comme ça, cependant si vos pages n'ont qu'un seul parent, body_class ajoutera déjà la classe "page-parent" au corps. Ce n'est un problème que si vous avez de nombreuses pages enfants, car chaque sous-page peut également être une page parente. Qu'essayez-vous de faire ?

  10. Elliott the web design guy May 18, 2011 at 10:43 pm

    Voilà un snippet très soigné pour les mises en page personnalisées – génial !

    1. Cool, content que ça vous plaise !

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !