Przejdź do treści

Jak dodać nazwę klasy do elementu body na stronie wykorzystującej określony szablon WordPress?

Załóżmy, że musimy zrealizować następujący plan:

Na stronie Portfolio wykorzystującej plik szablonu page-portfolio.php tło ma być koloru #003366.

Plan idealny w swej prostocie, ale czy wykonanie będzie równie proste?

Sposobem na realizację powyższego zadania może być dodanie klasy do elementu body, która zmieni kolor tła. Świetnie! Zatem do dzieła.

Aby dodać nazwę klasy do elementu body na stronie wykorzystującej określony szablon należy w pliku functions.php dodać następujący fragment kodu:

add_filter('body_class', function ($classNames) {
    if (is_page_template('page-portfolio.php')) {
        $classNames[] = 'body__page--portfolio';
    }
    return $classNames;
}, 10, 1);

Co się tutaj dzieje?

  1. Funkcja is_page_template() sprawdza czy aktualnie wyświetlana strona wykorzystuje szablon umieszczony w pliku page-portfolio.php (podajemy lokalizację pliku względem głównego katalogu motywu).
  2. Jeśli tak jest, to do listy nazw klas dodawanych do znacznika body zostaje dodana określona przez nas nazwa klasy (tutaj: body__page--portfolio).

Pamiętajcie by odpowiednio ostylować nowo dodaną klasę!