web-dev-qa-db-fra.com

Comment ajouter une classe de corps à toutes les pages intérieures sauf la page d'accueil

Je souhaite ajouter une classe à la balise body de toutes les pages SAUF la page d'accueil. En ce moment j'ai.

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

Mais il ajoute "intérieur" à TOUTES les pages, y compris la page d'accueil.

Quel est le meilleur moyen standard d’ajouter une classe à la balise body?

1
breezy

Essayez le:

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

Ou ca:

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

Le filtre body_class peut être utilisé à cet effet.

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;
}
1
brasofilo