Jag vill lägga till en klass i body-taggen på alla sidor FÖRTECKNA hemsidan. Just nu har jag det.
<?php body_class("interior"); ?>
Men det lägger till ”interiör” till ALLA sidor inklusive hemsidan.
Vad är det bästa standard sättet att lägga till en klass i body taggen?
Svar
Prova:
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
Eller så här:
<?php body_class( ! is_home() ? "interior" : "" ); ?>
Kommentarer
- Tack för ditt svar! men det lägger fortfarande till interiör på sidan ' '.
- Konstigt, arbetade här.
- Prova: < body <? php body_class (! is_home () & &! is_front_page ()? " interiör ": " "); ? > >
- Jag justerade mina läsinställningar till statisk och har inga sidor valda & det fungerade.
Svar
Filtret body_class
kan användas för detta.
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; }
Kommentarer
- mycket trevligt. En anledning till att inte kopiera header.php ner till min underordnade mallkatalog om jag inte behöver ' behöver göra ytterligare ändringar i filen.
Svar
Använd body_class
-filtret för att lägga till valfri klass till body-taggen i WordPress.
Lägg till koden nedan i dina funktioner. php-fil.
Lägg till klass i body-taggen för alla sidor.
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; }
Uteslut hemsida
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; }