Jak přidat třídu těla na všechny vnitřní stránky kromě domovské stránky

Chci přidat třídu do značky těla na všechny stránky kromě domovské stránky. Právě teď mám.

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

Přidává však „VŠECHNY“ na VŠECHNY stránky včetně domovské stránky.

Jaký je nejlepší standardní způsob přidání třídy do tagu body?

Odpověď

Vyzkoušet:

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

Nebo toto:

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

Komentáře

  • Děkujeme za odpověď! stále však přidává interiér na ' domovskou ' stránku.
  • Zvláštní, pracoval zde.
  • Vyzkoušejte: < body <? php body_class (! is_home () & &! is_front_page ()? " interiér ": " "); ? > >
  • Upravil jsem nastavení čtení na statické a nevybral jsem žádné stránky & fungovalo to.

Odpovědět

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

Komentáře

  • velmi pěkné. Ještě jeden důvod, proč nekopírovat header.php dolů do adresáře mé podřízené šablony, pokud ' nemusím v souboru provádět další úpravy.

Odpověď

Pomocí filtru body_class přidejte do tagu body ve WordPressu jakoukoli třídu.

Přidejte níže uvedený kód do svého souboru functions.php.

Přidejte třídu do tagu body pro všechny stránky.

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

Vyloučit domovskou stránku

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *