建筑网站步骤,关于开展全县中小学校网站群建设的请示报告,用云速成美站怎么做网站,单页面网站怎么做优化排名https://www.cnblogs.com/xcxc/p/3658903.html WordPress的body_class()函数详解
wordpress的body_class()函数#xff0c;顾名思义#xff0c;这个函数根据不同的页面类型为body标签生成class选择器#xff0c;从而让设计人员可以各方便灵活的控制不同页面中的各个元素。本…https://www.cnblogs.com/xcxc/p/3658903.html WordPress的body_class()函数详解
wordpress的body_class()函数顾名思义这个函数根据不同的页面类型为body标签生成class选择器从而让设计人员可以各方便灵活的控制不同页面中的各个元素。本文对这一函数进行了详细的解析包括该函数生成了些什么所包含的属性值有哪些以及如何使用和如何新增class选择器等等。
1、body_class生成什么
body_class()函数在Wordpress2.7几乎和post_class()有同样的运行方式唯一不同的是class生成的名称。 body_class()函数生成的class大多是根据你的访问者在网站的位置。例如如果访问者在你的博客首页但你没有设置一个静态主页函数和类 可能会产生如下所示 1 body classhome blog 生成了两个class类
如果你在某个帖子body标签看起来可能是这样 1 body classsingle postid-64 如果你正在浏览一个页面body_class()会生成这样 1 body classpage page-id-3 parent-page-id-0 page-template-default 从本质上讲body_class()会生成基于内容的动态CSS class以及在什么情况下浏览。例如如果你是注册用户且已经登录body_class()会在body标签生成一个登录class。
以下为可用的body class的完整列表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 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文件里。
当你找到标签的位置后请把它更改为 1 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里为 1 .single #content{ width: 960px; }
通过这样做在帖子页面content div为960px宽。我们正在增加一个简单有选择性的CSS系统。 4. 新增body_class()的class
在某些情况下你将要添加自己的Class到body_class()里。如果你发现自己处在这种情况下这些有些方法可以做到这一点。
首先最简单的方法是通过自定义Class函数调用
body_class() 1 body ?php body_class(my-class); ? 通过这样做我们现在告诉body_class()函数增加my-class的输出。
第二困难但更灵活的方式是利用Wordpress的过滤器增加新的body class。在这种情况下我们将使用
get_body_class()
函数中的body_class过滤器。如果你不清楚过滤器如何运行我将会在不久后写一篇文章。在此之前看看你是否能够赶上来非常容易。
这是增加使用过滤器增加class的例子 1 2 3 4 5 6 7 8 9 10 11 ?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