Haluan lisätä luokan body-tunnisteeseen kaikille sivuille Paitsi etusivua. Tällä hetkellä minulla on.
<?php body_class("interior"); ?>
Mutta se lisää ”sisustus” KAIKKI sivut mukaan lukien etusivu.
Mikä on paras tavanomainen tapa lisätä luokka body-tunnisteeseen?
Vastaa
Kokeile:
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
Tai tämä:
<?php body_class( ! is_home() ? "interior" : "" ); ?>
kommentit
- Kiitos vastauksestasi! se kuitenkin lisää sisätiloja ' koti ' -sivulle.
- Outoa, toimi täällä.
- Kokeile: < body <? php body_class (! is_home () & &! is_front_page ()? " sisustus ": " "); ? > >
- Säädin lukuasetukseni staattiseksi eikä minulla ole valittuja sivuja & se toimi.
Vastaa
Suodatin body_class
.
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; }
Kommentit
- erittäin mukava. Vielä yksi syy olla kopioimatta otsikkoa.php lapsimallihakemistooni, jos minun ei tarvitse ' tehdä muita muutoksia tiedostoon.
Vastaus
Käytä mitä tahansa luokkaa WordPressin tekstitagiin käyttämällä body_class
-suodatinta.
Lisää alla oleva koodi function.php-tiedostoon.
Lisää luokka kaikkien sivujen tekstitagiin.
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; }
Sulje pois kotisivu
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; }