开发WordPress主题的时候给body添加额外class
WordPress是自带body_class这个函数,可以快捷的给body添加内置的class名,在开发Wor…
WordPress是自带body_class这个函数,可以快捷的给body添加内置的class名,在开发WordPress主题的时候给body添加额外class的情况,就不能直接通过body_class这个函数来直接添加了。
其实我们可以通过add_filter来给body_class挂载一些内容:
/*body添加class*/
function wd_custom_body_class($classes){
if(is_home() && 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_custom_body_class’);
从案例中,可以看到核心代码
array_push()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!