开发WordPress主题的时候给body添加额外class

WordPress是自带body_class这个函数,可以快捷的给body添加内置的class名,在开发Wor…

WordPress是自带body_class这个函数,可以快捷的给body添加内置的class名,在开发WordPress主题的时候给body添加额外class的情况,就不能直接通过body_class这个函数来直接添加了。
开发WordPress主题的时候给body添加额外class (https://www.wpzt.net/) WordPress教程 第1张
其实我们可以通过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()

类别:WordPress入门

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册