如何根据帖子类别拥有不同的背景图像

时间:2019-04-19 作者:Avinash Patel

我有下面一段风格的代码。css文件(网站:https://askpuzzle.com)我想为不同的帖子/问题类别选择不同的背景图片。

 .question-content-text {background-image:(../logo);} 
我们无法在css样式中编写php,因此您可以帮助/指导如何实现这一点吗?

1 个回复
SO网友:MikeNGarrett

您必须有目标,所以这意味着添加一个类,其中包含样式所需的信息。

我建议将类别(或自定义分类法中的术语)添加到body类中。您可以通过一个简单的过滤器来实现这一点。这以单个模板为目标,并从类别分类中提取术语。您可以轻松地更改其中任何一个以满足您的需要。

add_filter( \'body_class\', \'my_body_class\' );
function my_body_class( $classes ) {
    if ( is_single() ) {
        $categories = get_the_terms( get_the_ID(), \'category\' );
        if ( $categories ) {
            $category_slugs = array();
            foreach ( $categories as $category ) {
                $category_slugs[] = \'cat-\' . $category->slug;
            }
            $classes = array_merge( $classes, $category_slugs );
        }
    }
    return $classes;
}
这将向body标记添加新类,如cat-uncategorized.