Как добавить свой css-класс к общему body_class?
Зачастую при оформлении тем необходимо иметь возможность выделить какую-либо запись или страницу с помощью отдельного css-класса. Самый простейший способ состоит в добавлении своего css-класса к общим body-классам. Например, чтобы в body прописать класс my-class-single для всех страниц одиночных записей вам необходимо добавить в файл functions.php вашей темы следующий код:
//добавление своего класса на нужных страницах start function wph_add_own_class($classes) { if (is_single()) { $classes[] = 'my-class-single'; } return $classes; } add_filter('body_class', 'wph_add_own_class'); //добавление своего класса на нужных страницах end |
Это самый простейший пример, который вряд ли вам пригодится (по умолчанию body_class и так уникально маркирует все страницы одиночных записей). Поэтому рассмотрим более продвинутый пример:
//добавление своего класса на нужных страницах start function wph_add_own_class($classes) { $temp = get_post_meta(get_the_ID(), 'my_field', true); if (is_single() and $temp=='true') { $classes[] = 'my-field-true'; } return $classes; } add_filter('body_class', 'wph_add_own_class'); //добавление своего класса на нужных страницах end |
В этом примере класс my-field-true будет добавлен только, если произвольное поле my_field текущей записи равно true. Таким же образом можно "пометить" любую выводимую движком страницу на основе каких-либо своих условий.