Описание body_class
— Filter
Хук body_class позволяет добавлять или изменять классы в теге body в WordPress. Он срабатывает при формировании HTML-кода страницы, позволяя разработчикам настраивать стили и функциональность на основе специфики страницы или поста
Примеры использования
Пример добавления кастомного класса для всех страниц постов:
add_filter('body_class', function($classes) {
if (is_single()) {
$classes[] = 'custom-post-class';
}
return $classes;
});
В этом примере мы добавляем класс ‘custom-post-class’ ко всем страницам с постами
Пример добавления класса в зависимости от типа записи:
add_filter('body_class', function($classes) {
if (is_page()) {
$classes[] = 'custom-page-class';
}
return $classes;
});
Здесь мы добавляем класс ‘custom-page-class’ для всех страниц
Пример удаления стандартного класса ‘home’ с главной страницы:
add_filter('body_class', function($classes) {
if (is_home()) {
$key = array_search('home', $classes);
if ($key !== false) {
unset($classes[$key]);
}
}
return $classes;
});
В этом примере мы удаляем стандартный класс ‘home’ с главной страницы
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или добавить классы для тега body, чтобы управлять стилями и функциональностью страниц
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только HTML-кода
– Предупреждения
Следите за тем, чтобы добавляемые классы не конфликтовали с существующими стилями или скриптами на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменять классы для элементов поста, а не для тега body
Используйте его, если необходимо изменить классы, применяемые к отдельным записям или элементам в цикле