Cum se adaugă o clasă de corp la toate paginile interioare cu excepția paginii de pornire

Vreau să adaug o clasă la eticheta de corp la toate paginile EXCEPȚI pagina de pornire. Chiar acum am.

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

Dar adaugă „interior” la TOATE paginile, inclusiv la pagina principală.

Care este cel mai bun mod standard de a adăuga o clasă la eticheta de corp?

Răspuns

Încercați:

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

Sau:

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

Comentarii

  • Vă mulțumim pentru răspuns! cu toate acestea, încă adaugă interior la ' pagina de pornire '. De asemenea, ciudat, a funcționat aici.
  • Încercați-l: < corp <? php body_class (! is_home () & &! is_front_page ()? " interior ": " "); ? > >
  • Am ajustat setările de citire la static și nu am selectat pagini & a funcționat.

Răspuns

Filtrul body_class poate fi utilizat pentru aceasta.

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

Comentarii

  • foarte frumos. Încă un motiv pentru a nu copia header.php în directorul șablonului meu copil, dacă nu ' nu trebuie să aduc modificări suplimentare fișierului.

Răspuns

Vă rugăm să utilizați filtrul body_class pentru a adăuga orice clasă la eticheta de corp din WordPress.

Adăugați codul de mai jos în fișierul funcții.php.

Adăugați o clasă la eticheta de corp pentru toate paginile.

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

Excludeți pagina principală

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *