Osztályt szeretnék hozzáadni a törzscímkéhez az összes oldalhoz, KIVÉVE a kezdőlapot. Most van.
<?php body_class("interior"); ?>
De hozzáad “belső” szót MINDEN oldalhoz, beleértve a kezdőlapot is.
Mi a legjobb módszer az osztály hozzáadásához a törzscímkéhez?
Válasz
Próbálja ki:
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
Vagy ez:
<?php body_class( ! is_home() ? "interior" : "" ); ?>
megjegyzések
- Köszönöm a választ! azonban még mindig belső teret ad a ' home ' oldalnak is.
- Furcsa módon itt működött.
- Próbálja ki: < body <? php body_class (! is_home () & &! is_front_page ()? " belső ": " "); ? > >
- statikusra állítottam az olvasási beállításokat, és egyetlen oldal sem lett kiválasztva & működött.
Válasz
A szűrő body_class
használható erre.
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; }
Megjegyzések
- nagyon kedvesek. Még egy ok arra, hogy ne másoljam le a header.php fájlt a gyermek sablonkönyvtárába, ha nem szükséges ' további módosításokat végrehajtani a fájlban.
Válasz
A body_class
szűrővel bármilyen osztályt hozzáadhat a törzscímkéhez a WordPress programban.
Adja hozzá az alábbi kódot a functions.php fájljához.
Osztály hozzáadása az összes oldal törzscímkéjéhez.
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; }
Kezdőlap kizárása
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; }