您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程

WordPress函数body_class()用法介绍

谷雪2025-03-02WordPress教程已有人查阅

导读wordpress的body_class()函数,顾名思义,这个函数根据不同的页面类型为body标签生成class选择器,从而让设计人员可以各方便灵活的控制不同页面中的各个元素。本文对这一函数进行

wordpress的body_class()函数,顾名思义,这个函数根据不同的页面类型为body标签生成class选择器,从而让设计人员可以各方便灵活的控制不同页面中的各个元素。本文对这一函数进行了详细的解析,包括该函数生成了些什么,所包含的属性值有哪些,以及如何使用和如何新增class选择器等等。
1、body_class()生成什么?
body_class()函数在Wordpress2.7几乎和post_class()有同样的运行方式,唯一不同的是class生成的名称。 body_class()函数生成的class大多是根据你的访问者在网站的位置。例如,如果访问者在你的博客首页,但你没有设置一个静态主页,函数和类 可能会产生如下所示:
<body class="home blog">
生成了两个class类
如果你在某个帖子,body标签看起来可能是这样:
<body class="single postid-64">
如果你正在浏览一个页面,body_class()会生成这样:
<body class="page page-id-3 parent-page-id-0 page-template-default">
从本质上讲,body_class()会生成基于内容的动态CSS class,以及在什么情况下浏览。例如,如果你是注册用户,且已经登录,body_class()会在body标签生成一个登录class。
以下为可用的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)
2. 如何添加body_class()
假设你正在使用Wordpress2.8以上的版本,通常body_class()放到<body>标签里。它通常在header.php文件里。
当你找到标签的位置后,请把它更改为:
<body <?php body_class(); ?>>
3. 使用动态Body Class
现在我们有了body class,有什么大不了呢?我将会解释:
除了html元素外,标签包围着其他所有的HTML代码。因此,body class允许我们对网页任何元素进行修改,具体到当前页面。
也许通过实例更容易理解:
我们主题左边有一个<div id=”content”>,右边有一个<div id=”sidebar”>,他们都在一个960px宽<div id=”container”>里。content div为600px宽,sidebar div为360px宽。但是,当浏览单独的帖子页面,我让我的主题不显示sidebar。现在,我们只剩下一个content div。不幸的是,container div为960px宽,而我们的content div却只有600px宽。
我们难道用一个大空白区填充我们的工具栏?该如何解决呢?使用body class这将很简单。我们只需要针对<div id=”content”>在帖子页的情况进行定义。在CSS里为:
.single #content{ width: 960px; }
通过这样做,在帖子页面,content div为960px宽。我们正在增加一个简单有选择性的CSS系统。
4. 新增body_class()的class
在某些情况下,你将要添加自己的Class到body_class()里。如果你发现自己处在这种情况下,这些有些方法可以做到这一点。
首先,最简单的方法是通过自定义Class函数调用
body_class()
<body <?php body_class('my-class'); ?>>
通过这样做,我们现在告诉body_class()函数增加my-class的输出。
第二,困难但更灵活的方式是,利用Wordpress的过滤器,增加新的body class。在这种情况下,我们将使用get_body_class()函数中的body_class过滤器。如果你不清楚过滤器如何运行,我将会在不久后写一篇文章。在此之前,看看你是否能够赶上来,非常容易。
这是增加使用过滤器增加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;
}
?>
则输出结果在body_class()的基础上新增zdy_class

本文标签:

很赞哦! ()

相关源码

  • (自适应)蓝色英文外贸电子科技产品带三级栏目网站模板为外贸企业设计的英文网站模板,基于PbootCMS系统开发。突出多语言支持和国际化布局,三级栏目结构清晰展示产品分类,响应式设计确保更好客户在移动端和PC端获得一致的专业体验。查看源码
  • 蓝色工业机械五金设备pbootcms模板源码下载(PC+WAP)为机械制造与五金设备企业设计的响应式网站模板,基于PbootCMS内核开发。采用蓝色工业风格强化行业属性,宽屏布局突出设备细节展示,支持PC与WAP端自适应查看源码
  • (自适应)英文电子芯片电子元件网站pbootcms模板下载基于PbootCMS内核开发的电子元件类企业专用模板,采用响应式设计技术,适配电子元器件、集成电路、半导体等行业的品牌展示与技术文档发布需求。前端布局针对芯片参数表格与产品规格书展示进行深度优化。查看源码
  • (PC+WAP)蓝色电缆桥架五金钢结构机械PbootCMS模板下载采用PC与WAP双端适配设计,满足桌面设备和移动端访问需求。专注服务于电缆桥架、钢结构及五金机械制造领域,通过结构化布局展示产品特性与技术参数,后台数据一体化管理提升内容维护效率。查看源码
  • (PC+WAP)盆栽绿植观赏植物花卉租赁免费pbootcms网站模板为花卉盆栽租赁、园林绿化企业打造的PbootCMS网站模板,采用较新内核开发,PC与移动端数据实时同步。通过清新自然的视觉设计,精准展现植物养护、花卉展示等业务场景,帮助用户快速建立专业级行业网站。查看源码
  • (自适应响应式)pbootcms紫色美容整形机构企业模板下载基于PbootCMS内核开发的响应式网站模板,为医疗美容机构、整形医院等企业设计,提供完整的线上展示平台采用紫色系配色方案,整体风格专业大气。模板包含首页轮播、服务项目、专家团队、案例展示等核心模块,能够充分展示医疗美容机构的专业服务和特色优势。查看源码
分享笔记 (共有 篇笔记)
验证码: