根据类别更改每个帖子的背景 时间:2015-09-08 作者:Social Monster 是否可以根据每个帖子的类别更改其背景颜色?我试过了-body.term-adb { background-color: #000; 但这只会更改类别页面,而不会更改标记有该类别的各个帖子的背景。我哪里做错了?这是page 我目前正在 3 个回复 SO网友:Curtis body\\u class()是控制这些类的对象,它不包括单个帖子中的类别。这就是为什么一旦你点击一篇文章,CSS就不起作用了。不过,我确实找到了一个可能有用的函数。尝试将其放置在函数中。php。这会将当前帖子的类别添加回body类。一旦类可用,您应该能够更轻松地设置页面样式。如果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; } References:https://codex.wordpress.org/Function_Reference/body_class SO网友:kaiser 当然这是可能的。查看的输出<body <?php body_class( $additional_classes ); ?>> 这里有很多与分类法相关的类:tax-portfolio_category <<;tax-{$taxonomy_name}term-adb <<;term-{$term_name}term-22 <<;term-{$term_id}希望这能有所帮助。 SO网友:Dev post类包含该类别,因此您可以使用该类别或使用post\\u类筛选器再次添加该类别$terms = wp_get_post_terms( get_the_ID(), \'category\', array( \'fields\' => \'slugs\' ) ); $category_slug = implode(\' \', $terms); $attributes[\'class\'] .= \' \'. $category_slug; return $attributes; 文章导航