如果post_meta_value匹配,则向css添加新类

时间:2017-04-05 11:54:24

标签: php css wordpress class

我正在尝试为帖子添加一个新类,以便我可以通过css以不同的方式设置该类。对于所有帖子类型box-layout,div的当前类为event_listing。我希望如果任何帖子的met​​a_key _featured的meta_value为1,那么它应该在当前类之前或之后添加一个新类。它应该像box-layout featured-class

下面是我试图在我的主题functions.php文件中使用它但尚未成功的代码。

add_filter('body_class','add_featured_class');
function add_featured_class ( $classes ) {
    global $post;
    if ( "1" == get_post_meta( get_the_ID(), '_featured', true )  ) {
        $classes[] = 'featured-class';  
    }
    // return the $classes array
    return $classes;
}

1 个答案:

答案 0 :(得分:1)

你不能在循环外使用get_the_ID()。请尝试$ post-> ID。这适用于我,假设你的帖子有" _featured" post meta设置为1。

add_filter('body_class','add_featured_class');
function add_featured_class ( $classes ) {
    global $post;
    if ( "1" == get_post_meta( $post->ID, '_featured', true )  ) {
        $classes[] = 'featured-class';  
    }
    // return the $classes array
    return $classes;
}

还要确保您的身体标签看起来像这样:

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