Как добавить дополнительный класс хедеру на определенных страницах?

WordPress предоставляет несколько способов добавить дополнительные классы к хедеру на определенных страницах. Ниже описаны два наиболее популярных метода:

1. Использование функции body_class():
Функция body_class() добавляет классы к HTML-тегу body и позволяет указывать дополнительные классы на основе свойств страницы, таких как шаблон, категория или идентификатор страницы. Чтобы добавить дополнительный класс к хедеру на определенных страницах, можно воспользоваться хуком body_class, который вызывается в файле шаблона header.php. Ниже приведен пример кода, который демонстрирует, как добавить дополнительный класс "my-custom-class" к хедеру на странице с идентификатором 123:

   function add_custom_header_class($classes) {
       if (is_page(123)) {
           $classes[] = 'my-custom-class';
       }
       return $classes;
   }
   add_filter('body_class', 'add_custom_header_class');

В этом примере мы создали функцию add_custom_header_class(), которая проверяет, является ли текущая страница страницей с идентификатором 123 с помощью функции is_page(). Если это так, то мы добавляем класс "my-custom-class" к массиву $classes. Затем мы возвращаем измененный массив $classes из функции. Функция add_filter() используется для привязки нашей функции к хуку body_class.

После добавления этого кода в файл functions.php вашей темы, класс "my-custom-class" будет автоматически добавлен к хедеру, когда вы посещаете страницу с идентификатором 123.

2. Использование условных проверок в файле шаблона header.php:
Второй способ - это использование условных проверок непосредственно в файле шаблона header.php. Вы можете проверить условия, соответствующие определенным страницам или шаблонам, и включить код, который добавляет дополнительный класс к хедеру. Вот пример кода для добавления класса "my-custom-class" к хедеру на странице с идентификатором 123:

   <?php if (is_page(123)) : ?>
       <header class="site-header my-custom-class">
   <?php else : ?>
       <header class="site-header">
   <?php endif; ?>

В этом примере мы используем условие if (is_page(123)) для проверки, является ли текущая страница страницей с идентификатором 123. Если это так, то мы добавляем класс "my-custom-class" к атрибуту class в теге header. В противном случае мы просто оставляем класс "site-header".

После внесения этих изменений в ваш файл шаблона header.php класс "my-custom-class" будет применяться только на странице с идентификатором 123.

Оба этих метода позволяют вам добавлять дополнительные классы к хедеру на определенных страницах. Вы можете выбрать для себя наиболее удобный способ в зависимости от своих предпочтений и структуры вашей темы WordPress.