Как динамически добавить класс в тег HTML по шаблону в WordPress - PullRequest
0 голосов
/ 17 июня 2019

Я хочу добавить фоновое изображение в HTML только по умолчанию page.php, и лучшим способом было бы иметь класс для тега HTML, чтобы я мог нацелить его на CSS, так что в идеале я хочу сказать "Если это шаблон страницы, добавьте класс 'header-default' к тегу HTML "

Я попытался исследовать, и я получил что-то вроде этого, но мне действительно нужно определенное направление:

function is_page_template( $template = 'page.php' ) {

    if ( is_page_template( $template ) ) {
        if ( ( in_array( 'default', $template, true ) && ! $page_template )
            'html' => 'page--header__default',
        ) {
            return true;
        }
    }

    return ( 'default' === $template && ! $page_template );
}

Я получаю сообщение об ошибке, что js неправильно использует синтаксис, это не мой сильный набор, поэтому я понятия не имею, в чем заключается идея.

1 Ответ

0 голосов
/ 17 июня 2019

Вам не нужно добавлять класс в тег HTML. Вы должны добавить это к телу. В WordPress уже есть фильтр, который позволяет вам устанавливать собственный класс, пожалуйста, проверьте следующий пример:

add_filter( 'body_class', 'custom_class' );
function custom_class( $classes ) {
    if ( is_page_template( 'page-example.php' ) ) {
        $classes[] = 'example';
    }
    return $classes;
}

Источник: https://developer.wordpress.org/reference/functions/body_class/#comment-1846

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...