Bonjour,
je suis sur un thème "Fizz" et selon que je sois sur la page d'accueil ou pas, j'aimerai changer le css d'une balise <p>
je suis dans le code du header.php ou il y a un slider quand on est sur la page d'accueil et qui disparait sur les autres pages.
<?php if (is_home()) : ?>
<p class="site-description"><?php bloginfo( 'description' ); ?></p> (cette ligne est le code existant)
<?php else : ?>
<p class="site-description-1"><?php bloginfo( 'description' ); ?></p>
<?php endif ?>
mais ce code ne fonctionne pas
j'ai créer deux classes css
1- site-description
2- site-description-1
quand je suis dans la page d'accueil, je voudrais qu'il prenne en compte la classe 1
et la classe 2 quand je suis sur les autres.
Pour le moment, la classe 1 n'est plus prise en compte, il ne me prends que la classe 2 et sur toutes les pages.
voila, si quelqu'un à une idée
merci d'avance
Bonjour !
Si c'est un thème existant il y a de grande chance que tu est une class sur la balise body.
sur ta page d'accueil ça doit donner
<body class="home">
Du coup tu peut faire
<p class="site-description"><?php bloginfo( 'description' ); ?></p> (cette ligne est le code existant)
sans les if ou quoi.
et dans le css tu fais un css global pour toutes les pages :
.site-description{background:red}
ensuite tu personnalise celui de la page d'accueil comme ça :
.home .site-description{background:blue}
Tout est gérer côté css comme ça.
Edit :
Au cas où tu n'a pas de class sur ton body, tu peux rajouter ce code dans le fichier functions.php
<?php
function wpfme_has_sidebar($classes) {
if (is_active_sidebar('sidebar')) {
// add 'class-name' to the $classes array
$classes] = 'has_sidebar';
}
// return the $classes array
return $classes;
}
add_filter('body_class','wpfme_has_sidebar');
?>
et dans header.php au niveau du body tu lui ajoute
<body <?php body_class(); ?>>