Intereting Posts
wp-cli для создания шаблона страницы Передача имени пользователя / пароля из шлюза платежей в базу данных WordPress с помощью скрипта PHP WP 4.7 сломал get_post_type или требует явного целочисленного значения? update_option создает опцию, которая опустошается при перезагрузке блога Отправка сообщения в базу данных, затем перенаправление на paypal Почему я получаю различную визуализацию при запуске веб-сайта на моем локальном компьютере и на удаленном сервере? Как изменить параметр «Вставить / изменить ссылку», чтобы предлагать относительные URL-адреса? Определение того, является ли это AJAX-вызовом из front-end или back-end Невозможно изменить идентификатор моего сайта в apperances Добавить меню с вкладками на страницу администратора Справка по проверке google recaptcha в пользовательской форме Нужно меню на левой боковой панели страницы с нижеследующими требованиями Крючок в родительской теме Функция меню JavaScript добавлен как ссылка / таблица стилей Список листинга плагинов WP Business Directory?

Добавить класс на страницу сообщений

Я пытаюсь создать что-то уникальное для страницы Blog / Posts, которая не находится на первой странице. Тег тела теперь выглядит следующим образом: <body <?php body_class() ?>>
Но выполнение этого <body <?php body_class('blog') ?>> возвращает только <body class="logged-in"> или просто <body> если я не вошел в систему.

Я пробовал:

 <body <?php if ( is_home()) { echo 'class="blog"'; } else { body_class(); }?>> 

Это своего рода работы, но он полностью заменяет «вход в систему». Должен быть способ правильно добавить классы в тег body для сообщений?

Solutions Collecting From Web of "Добавить класс на страницу сообщений"

В файле функций вашей темы используйте фильтр body_class для добавления новых классов:

 function wpse_282694_body_class( $classes ) { if ( is_home() ) { $classes[] = 'blog'; } return $classes; } add_filter( 'body_class', 'wpse_282694_body_class' ); 

Если ваши архивы категорий, архивы тегов, архивы дат и результаты поиска также нуждаются в том же стиле, что довольно точно, проверьте для каждого из них так:

 if ( is_home() || is_date() || is_tag() || is_category() || is_search() ) {} 

Обратите внимание, что я не использовал is_archive() , потому что это также повлияло бы на любые пользовательские типы сообщений, которые вы могли бы использовать.

Вы можете передать свой класс в качестве аргумента

 <body <?php if ( is_home()) { body_class('my-class'); } else { body_class(); }?>>