定制贴子类型和BODY_CLASS:删除“Blog”类

时间:2011-04-14 作者:HandiworkNYC.com

我正在使用body_class(); 按正文类设置wordpress网站不同部分的样式。页面样式从.page-template, 博客样式从.single-post 和/或.blog

我已经为网站的Products部分创建了一个自定义的帖子类型“Products”,并想专门使用它的body类来设置此部分的样式,但不幸的是body_class(); 还为自定义post类型的单页提供类.blog 这使得许多博客风格凌驾于产品风格之上——非常令人沮丧。

有没有办法让我的自定义贴子类型的单页离开“博客”类?

谢谢

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您可以使用body_class 筛选以检查您是否使用自定义帖子类型,如果是,则只需删除blog 类如下:

 function remove_blog_from_cpt_classes($classes, $class){
    global $post;
    if ($post->post_type != "products"){
        return $classes;
    }else{
        foreach($classes as &$str){
            if(strpos($str, "blog") > -1){
                $str = "";
            }
        }
    }
    return $classes;
}
add_filter("body_class", "remove_blog_from_cpt_classes", 10, 2);
希望这有帮助

结束