我正在使用此代码在body类上显示类别。 但现在我在BBPress论坛页面上遇到了问题。我收到通知“非对象,未定义的偏移......”
如何从此排除BBPress页面?在论坛页面上我需要正常的身体类。
add_filter('body_class','top_cat_body_class');
function top_cat_body_class($classes) {
if( is_single() ) :
global $post;
$cats = get_the_category( $post->ID );
if( count( $cats ) > 1 ) {
return array('genericClass');
}
else {
$cat_anc = get_ancestors( $cats[0]->term_id, 'category' );
$top_cat = array_merge( array($cats[0]->term_id), $cat_anc );
$top_cat = array_pop( $top_cat );
return array(get_category($top_cat)->slug);
}
elseif( is_category() ) :
$cat_anc = get_ancestors( get_query_var('cat'), 'category' );
$top_cat = array_merge( array(get_query_var('cat')), $cat_anc );
$top_cat = array_pop( $top_cat );
return array(get_category($top_cat)->slug);
else :
return $classes;
endif;
}
答案 0 :(得分:1)