Comment ajouter une classe body à toutes les pages intérieures à lexception de la page daccueil

Je veux ajouter une classe à la balise body de toutes les pages SAUF la page daccueil. Pour le moment, je lai.

<?php body_class("interior"); ?>

Mais cela ajoute un « intérieur » à TOUTES les pages, y compris la page daccueil.

Quelle est la meilleure façon standard dajouter une classe à la balise body?

Réponse

Essayez-le:

<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?> 

Ou ceci:

<?php body_class( ! is_home() ? "interior" : "" ); ?> 

Commentaires

  • Merci pour votre réponse! cependant, il ajoute toujours de lintérieur à la page ' accueil '.
  • Curieusement, cela a fonctionné ici.
  • Essayez-le: < body <? php body_class (! is_home () & &! is_front_page ()? " intérieur ": " "); ! « >

cela a fonctionné.

Réponse

Le filtre body_class peut être utilisé pour cela.

add_filter( "body_class", "body_class_wpse_85793", 10, 2 ); function body_class_wpse_85793( $classes, $class ) { // This one overrides all original classes if( is_home() ) $classes = array( "interior" ); // This one simply adds a new class //if( is_home() ) // $classes[] = "interior"; return $classes; } 

Commentaires

  • très sympa. Une raison de plus de ne pas copier header.php dans le répertoire de mon modèle enfant si je nai ' pas besoin dapporter des modifications supplémentaires au fichier.

Réponse

Veuillez utiliser le filtre body_class pour ajouter une classe à la balise body dans WordPress.

Ajoutez le code ci-dessous à votre fichier functions.php.

Ajoutez une classe à la balise body pour toutes les pages.

 add_filter("body_class", "wp_body_class"); function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; } 

Exclure la page daccueil

if (!is_front_page() ) { // exclude home or any other page. add_filter("body_class", "wp_body_class"); } function wp_body_class($class) { $class[] = "my-custom-class"; // Add your class name here. Multiple class names can be added "classname1 classname2". return $class; } 

Laisser un commentaire

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