Jak dodać klasę treści do wszystkich stron wewnętrznych z wyjątkiem strony głównej

Chcę dodać klasę do tagu body do wszystkich stron Z WYJĄTKIEM strony głównej. W tej chwili mam.

<?php body_class("interior"); ?>

Ale dodaje „wnętrze” do WSZYSTKICH stron, łącznie ze stroną główną.

Jaki jest najlepszy standardowy sposób dodawania klasy do tagu body?

Odpowiedź

Wypróbuj:

<?php $class = ! is_home() ? "interior" : ""; body_class( $class ); ?> 

Lub to:

<?php body_class( ! is_home() ? "interior" : "" ); ?> 

Komentarze

  • Dziękuję za odpowiedź! jednak nadal dodaje wnętrze do strony ' home '.
  • Dziwne, pracowałem tutaj.
  • Wypróbuj: < body <? php body_class (! is_home () & &! is_front_page ()? " wnętrze ": " "); ? > >
  • Zmieniłem ustawienia czytania na statyczne i nie mam wybranych stron & zadziałało.

Odpowiedź

Filtr

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; } 

Komentarze

  • bardzo fajnie. Jeszcze jeden powód, aby nie kopiować pliku header.php do katalogu z szablonami podrzędnymi, jeśli ' nie muszę wprowadzać dodatkowych modyfikacji w pliku.

Odpowiedź

Użyj filtra body_class, aby dodać dowolną klasę do tagu body w WordPress.

Dodaj poniższy kod do pliku functions.php.

Dodaj klasę do tagu body dla wszystkich stron.

 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; } 

Wyklucz stronę główną

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; } 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *