Ich möchte allen Seiten mit Ausnahme der Homepage eine Klasse zum Body-Tag hinzufügen. Im Moment habe ich.
<?php body_class("interior"); ?>
Aber es fügt ALLEN Seiten einschließlich der Startseite „Interieur“ hinzu.
Was ist die beste Standardmethode zum Hinzufügen einer Klasse zum Body-Tag?
Antwort
Probieren Sie es aus:
<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?>
Oder dies:
<?php body_class( ! is_home() ? "interior" : "" ); ?>
Kommentare
- Danke für deine Antwort! Es wird jedoch weiterhin ein Interieur zur ' Homepage ' hinzugefügt.
- Seltsamerweise wurde hier gearbeitet.
- Probieren Sie es aus: < body <? php body_class (! is_home () & &! is_front_page ()? " Innenraum ": " "); ? > >
- Ich habe meine Leseeinstellungen auf statisch angepasst und keine Seiten ausgewählt & es hat funktioniert.
Antwort
Der Filter body_class
kann hierfür verwendet werden.
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; }
Kommentare
- sehr nett. Ein weiterer Grund, header.php nicht in mein untergeordnetes Vorlagenverzeichnis zu kopieren, wenn ich ' keine zusätzlichen Änderungen an der Datei vornehmen muss.
Antwort
Verwenden Sie den Filter body_class
, um dem Body-Tag in WordPress eine beliebige Klasse hinzuzufügen.
Fügen Sie den folgenden Code zu Ihrer Datei functions.php hinzu.
Fügen Sie dem Body-Tag für alle Seiten eine Klasse hinzu.
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; }
Startseite ausschließen
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; }