WordPress是自带body_class这个函数,可以快捷的给body添加内置的class名,在开发WordPress主题的时候给body添加额外class的情况,就不能直接通过body_class这个函数来直接添加了。
其实我们可以通过add_filter来给body_class挂载一些内容:
/*body添加class*/
function wd_cus***_body_class($classes){
if(is_home() &**p;&**p; emptyempty(wd_get_slider_background())){
array_push($classes, “top-bar-visible”);
}
if(is_page() || is_single()){
global $post;
if(get_post_meta($post->ID, ‘postheader’, true) == “0” || get_post_meta($post->ID, ‘postheader’, true)== “”){
array_push($classes, “top-bar-visible”);
}
if(get_post_meta($post->ID, ‘pagelayout’, true) == “0”){
array_push($classes, “page-layout-right-sidebar”);
}
if(get_post_meta($post->ID, ‘pagelayout’, true) == “1”){
array_push($classes, “page-layout-left-sidebar”);
}
if(get_post_meta($post->ID, ‘pagelayout’, true) == “2”){
array_push($classes, “page-layout-full-width”);
}
if(get_post_meta($post->ID, ‘pagelayout’, true) == “”){
if(av(‘layout_sidebar’,’0′) == ‘1’){
array_push($classes, “page-layout-left-sidebar”);
}else{
array_push($classes, “page-layout-right-sidebar”);
}
}
}
if(is_home()){
if(av(‘layout_sidebar’,’0′) == ‘1’){
array_push($classes, “page-layout-left-sidebar”);
}else{
array_push($classes, “page-layout-right-sidebar”);
}
}
return $classes;
}
add_filter(‘body_class’, ‘wd_cus***_body_class’);
从案例中,可以看到核心代码
array_push()
暂无评论内容