Intereting Posts
Есть ли возможность, которая проверяет правильность для пользователей без регистрации? Расширенные пользовательские поля – изображение категории Запретить пользователям авторскую роль от редактирования уже ожидающих сообщений Как сделать WP_REST_Response для JSONP? Пользовательская таксономия направлена ​​на ежегодный архив Совместное использование папки wp-контента по различным установкам WordPress multisite Как я могу найти «общедоступный» путь к файлу? Использование памяти для масштабируемых запросов usermeta как скрыть резюме от выбранного работодателя Получайте вложение следующее и предыдущее только автором несколько файлов html / css для темы wordpress? Использование wp_send_json для возврата HTML Как проверить, загружает ли пользователь / устанавливает изображение в качестве отображаемого изображения? Как перечислить все изображения в каталоге загрузок, кроме тех, которые прикреплены к любому сообщению the_content всегда окружен параграфами (как отключить или удалить их)?

Измените каждый почтовый фон на основе категории

Можно ли изменить цвет фона каждого сообщения на основе его категории?

Я пытался –

body.term-adb { background-color: #000; 

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

Где я иду не так?

Вот страница, над которой я сейчас работаю.

Solutions Collecting From Web of "Измените каждый почтовый фон на основе категории"

Body_class () – это то, что контролирует эти классы и не включает категорию в отдельные сообщения. Вот почему CSS не работает, как только вы переходите к сообщению.

Однако я нашел функцию, которая может помочь. Попробуйте поместить это в свои функции. Это добавит категорию текущего сообщения обратно в класс body. Вы должны уметь стилизовать свои страницы, как только класс будет доступен. Двойной класс на теге тела, если он все еще не работает, и убедитесь, что он соответствует вашему CSS.

 add_filter('body_class','add_category_to_single'); function add_category_to_single($classes) { if (is_single() ) { global $post; foreach((get_the_category($post->ID)) as $category) { $classes[] = 'category-'.$category->slug; } } return $classes; } 

Рекомендации:

  1. https://codex.wordpress.org/Function_Reference/body_class

Конечно, это возможно. Взгляните на вывод

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

Там вы получаете кучу таксономических классов:

  • tax-portfolio_category << tax-{$taxonomy_name}
  • term-adb << term-{$term_name}
  • term-22 << term-{$term_id}

Надеюсь, это поможет.