Flector

Как добавить свой css-класс к общему body_class?

Свой css-класс, добавленный к body

Зачастую при оформлении тем необходимо иметь возможность выделить какую-либо запись или страницу с помощью отдельного 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. Таким же образом можно "пометить" любую выводимую движком страницу на основе каких-либо своих условий.


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!