概述
标签函数 body_class()
从本质上讲,body_class()会生成基于内容的动态CSS class,以及在什么情况下浏览。例如,如果你是注册用户,且已经登录,body_class()会在body标签生成一个登录class。
<body <?php body_class();?>>
如果是首页:
<body class="home blog">
如果该页是single页,对应HTML:
<body class="post-template-default single single-post postid-496 single-format-standard custom-background wp-custom-logo wb-hide-mobile-sidebar">
以下为可用的body class的完整列表:
rtl home blog archive date search paged attachment error404 single postid-(id) attachmentid-(id) attachment-(mime-type) author author-(user_nicename) category category-(slug) tag tag-(slug) page page-parent page-child parent-pageid-(id) page-template page-template-(template file name) search-results search-no-results logged-in paged-(page number) single-paged-(page number) page-paged-(page number) category-paged-(page number) tag-paged-(page number) date-paged-(page number) author-paged-(page number) search-paged-(page number) |
范例1:使用动态Body Class
我们主题左边有一个,右边有一个,他们都在一个960px宽里。content div为600px宽,sidebar div为360px宽。但是,当浏览单独的帖子页面,我让我的主题不显示sidebar。现在,我们只剩下一个content div。不幸的是,container div为960px宽,而我们的content div却只有600px宽。
我们难道用一个大空白区填充我们的工具栏?该如何解决呢?使用body class这将很简单。我们只需要针对在帖子页的情况进行定义。在CSS里为:
.single #content{ width: 960px; }
范例2:新增body_class()的class
在某些情况下,你将要添加自己的Class到body_class()里。如果你发现自己处在这种情况下,这些有些方法可以做到这一点。
首先,最简单的方法是通过自定义Class函数调用
<body <?php body_class('my-class'); ?>>
通过这样做,在帖子页面,content div为960px宽。我们正在增加一个简单有选择性的CSS系统。
范例3:利用Wordpress的过滤器,增加新的body clas
使用到的函数:get_body_class()
<?php
add_filter(’body_class’,'my_body_classes’);
function my_body_classes($classes) {
// add 'zdy_class' to the $classes array
$classes[] = 'zdy_class';
// return the $classes array
return $classes;
}
?>
参考阅读:
在WordPress文章页面body_class加上分类class:
https://wpmore.cn/add-category-name-body_class.html
WordPress的body_class()函数详解: