Функция body_class() в WordPress

Опубликовано: 07.10.2017

Функция body_class() — одна из самых полезных в WordPress. Благодаря ей на сайте легко изменять стили элементов в зависимости от текущей страницы или записи, категории, метки, автора, типа записи и многих других факторов.

Функция body_class() добавляет список классов к тегу <body> в теме WordPress. По этим классам с помощью CSS или JavaScript легко определить тип текущей страницы, например класс logged-in означает, что текущий посетитель выполнил вход, а класс search — что посетитель находится на странице с результатами поиска.


Ajax в Wordpress во фронт-энде (лицевой части сайта) - полное руководство по Ajax в Wordpress

Использование body_class()

Большинство тем для WordPress уже используют функцию body_class(), поэтому в самих шаблонах темы менять ничего не придется. Если вы разрабатываете собственную тему для WordPress, то функцию body_class() необходимо использовать внутри тега <body>:

<body <?php body_class(); ?>>

Учтите, что использование данной функции — обязательно для всех тем в официальной директории WordPress.org. Также стоит отметить, что функция body_class() может принимать один аргумент, куда вы можете передать список дополнительных классов, например:

<?php $classes = array( 'foo', 'bar', 'baz' ); ?> <body <?php body_class( $classes ); ?>>

Внутри самой функции есть одноименный фильтр body_class, к которому легко подключиться и изменить список классов из любого плагина.

Классы

На данный момент функция body_class() поддерживает больше 50 типов классов. В этом разделе мы рассмотрим самые интересные и популярные. Полный перечень и логику выбора классов вы можете посмотреть в файле ядра wp-includes/post-template.php.

Эти классы можно применять в вашем CSS редакторе в WordPress или в дочерней теме , например следующим образом:

/* Красный фон на странице с результатами поиска */ body.search { background: red; }

Классы single и page

Классы single и page — одни из самых полезных. Они присутствуют тогда, когда текущая страница содержит одиночную запись. Класс single используется для одиночных записей любых типов, кроме вложений и страниц, а класс page используется для страниц.

rss