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

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

Я пытался –

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}

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