WordPress官方最新的主题审核中规定一定要用 post_class() 这个函数生成 classname 列表,但自己在使用这个函数时遇到一些问题和解决方法,下面说说。
一、关于 post_class() 函数
这个函数是 WordPress 2.7 时新加的函数,这个函数会根据主题页面生成预置的classname和针对一些页面的classname,方便主题开发者利用这些class来定义主题样式
用法:
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
例如:当前页面是“dancing”分类存档页面,用上面的代码就会生成如下classname
<div id="post-4564" class="post post-4564 category-48 category-dancing logged-in">
具体参考官方文档:http://codex.wordpress.org/Template_Tags/post_class
二、在 post_class() 函数加入自定义 classname 并输出
这次升级 zBench 主题,在使用这个函数时遇到一个比较囧的情况:zBench 主题的页面模板 page.php 和 single.php 本身定义了一个名为 post-single 的class来个性化这2个页面样式的,可用了这个函数后不知道怎么插入,囧~
假如这样:
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?> class="post-single">
就不输出后面的 class="post-single"
假如这样:
<div id="post-<?php the_ID(); ?>" class="post-single" <?php post_class(); ?>>
就不输出<?php post_class(); ?>生成的class
后来发现原来是自己不够认真看官方文档:(唉,英文差……)
Parameters
class
(string or array) (optional) One or more classes to add to the class attribute, separated by a single space.
Default: null
囧~原来直接在函数里面加入自定义classname就能输出
例如上面的例子中:
<div id="post-<?php the_ID(); ?>" <?php post_class('post-single'); ?>>
就会生成
<div id="post-4564" class="post post-4564 category-48 category-dancing logged-in post-single">
如果是多个class就用空格分开即可,如 post_class('post-single zww')
说完,继续无聊地过国庆……
- 本文标题:关于post_class()函数
- 本文链接:https://zww.me/archives/25316
- 发布时间:2010年10月03日 10:28
- 版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!
不懂函数。。。
沙发
额,,居然有板凳。。。。
@alexin
国庆都去玩了
祝你把主题越弄越好啊。以后帮你推荐。
@竹下无为梦
谢谢,主题就这样了,没啥好弄了
占楼~不过,我用的主题里 貌似 没有 用到 这个函数 额、、
@Kars
WP官方主题目录中最新的主题/最近更新的主题才会有这个函数,官方要求的。
这个函数生成的class太多了,感觉不仅增加了页面上无用的标签、属性,而且破坏了dom的整齐的美感。。。
@QiQiBoY
如果是自己用的主题不需要这样,我写的是针对官方的
小淫z,你应该考虑一下照顾我的感受。在你的淫文里面 - - 加几句我能听懂的行吗?
@❤•终于°
不要把问题都推到他人身上,要么自己学一下要么飘过
@zwwooooo
我不学也不飘 - - 我水。
@❤•终于°
很好,我也水~
@zwwooooo
我继续水。
@❤•终于°
好吧,我开闸
@zwwooooo
我泄洪。
无聊的国庆你这里人也蛮少的
最近学着做主题插件 你和Winy等大师的博客都是免费教程啊 哈哈
@飞晏
这几天大家都去玩了,所以人也很少了
咱的主题不需要官方认证,直接 class=""
@万戈
哈哈,你不需要,你的免费主题不是针对大众的。
个人主题的确不需要这么累赘的东东,第一次看那个官方2010主题,我说这个post_class()干嘛用的,后来看文档才知道。
@Rayee
对啊,但是大众的主题就需要鸟
这样其实挺方便地,想添加个性的class直接添加参数就ok了。不过id的写法与class的写法就不和谐了,官方应该应该把id=“”也搞掉
@fblue
主要是考虑兼容性吧
恩~ 仔细阅读官方文档太重要了……
国庆快乐……
@孤夜狂狼
英文不好,很容易飘过
哎 都改技术文章了, 话说回来你也不注重留言数,这样好。
@clyee
技术文章?我一直都有这类文章,虽然技术含量不高
说完国庆已经过了一半。
@德意
对,法定的已经过完了
留记号,用处大大地。
这里木有国庆,╮(╯▽╰)╭,鸭梨啊鸭梨 ~
@小邪
有钱天天国庆,没钱啥也不是
确实是这样滴~~
@阿修
我却不知道,囧
整点轻松的嘛,不要动不动代码函数什么的
@yesureadmin
你可以去“无聊吧”博客,那里很多轻松的,我经常去,呵呵
国庆快乐呀~好久没上网了~
@球犯
祝你玩的开心
一天一个函数,哈哈
@derek
没那么夸张,只是碰到了写写
这几天发表了很多wp的文章 ..都是经验的终结
@dengmin
刚好在折腾就写写记录一下