2017-04-30 4 views
0

Ich versuche, eine bedingte Body-Klasse hinzuzufügen, die nur auf der Startseite sein wird. Ich habe einen bedingten Filter für die Woocommerce-Shop-Seite gefunden, aber wenn ich is_shop in is_home ändere, funktioniert das nicht. Hier ist, was ich versuche, für "home" Seite zu ändern.Bedingte Body-Klasse für Homepage

add_filter('body_class','my_body_classes'); 
function my_body_classes($classes) { 

if (is_home()) { 

    $classes[] = 'class-name'; 
    $classes[] = 'class-name-two'; 

} 

return $classes; 

} 

Antwort

0

Ich habe "home" nach is_page hinzugefügt und es funktioniert jetzt.

add_filter('body_class','my_body_classes'); 
function my_body_classes($classes) { 

if (is_page('home')) { 

    $classes[] = 'home-page'; 
    $classes[] = 'class-name-two'; 

} 

return $classes; 

} 
1

Die bedingte Tag, das Sie verwendet haben, is_home(), trifft eher misleadingly nur auf die 'Blog-Homepage'.

Die "Blog-Homepage" ist nicht unbedingt die Homepage Ihrer Website. Es hängt von der Einstellung ab, die für "Frontpage-Anzeigen" unter Einstellungen -> Lesen verwendet wird. Wenn Ihre Homepage auf eine statische Seite eingestellt ist, gibt is_home() auf der Seite "Posts" den Wert true zurück.

Die Bedingung, die Sie suchen, ist is_front_page(). Diese Funktion wird auf der Startseite true zurückgeben, unabhängig davon, ob es sich um einen Blog-Index oder einen statischen Index handelt.

Docs: