Jeg vil føje en klasse til body-tagget til alle sider UNDTAGET startsiden. Lige nu har jeg det.
<?php body_class("interior"); ?>
Men det tilføjer “interiør” til ALLE sider inklusive hjemmesiden.
Hvad er den bedste standard måde at tilføje en klasse til body-tagget på?
Svar
Prøv det:
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
Eller dette:
<?php body_class( ! is_home() ? "interior" : "" ); ?>
Kommentarer
- Tak for dit svar! dog tilføjer det stadig interiør til ' home ' siden.
- Mærkeligt nok, arbejdede her.
- Prøv det: < body <? php body_class (! is_home () & &! is_front_page ()? " interiør ": " "); ? > >
- Jeg justerede mine læseindstillinger til statisk og har ingen sider valgt & det fungerede.
Svar
Filteret body_class
kan bruges til dette.
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
- meget flot. En yderligere grund til ikke at kopiere header.php ned i min underordnede skabelonbibliotek, hvis jeg ikke ' ikke behøver at foretage yderligere ændringer af filen.
Svar
Brug body_class
filteret til at føje en klasse til body tag i WordPress.
Føj nedenstående kode til dine funktioner. php-fil.
Føj klasse til body-tagget for alle siderne.
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; }
Ekskluder startside
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; }