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 原创,转载请以链接形式标明本文地址!
照旧来学习。
@ZDAvril
照旧荒淫
不懂这方面的东西。
@winw
不需要就不需要懂。
你说既然是开源的,照理说我们都可以自己自定义函数的吧呵呵
@学夫子
可以,你自个怎么使用也可以,但是你的主题要提交给他们就要达到他们的要求。
看不懂,但还是要顶你地。
@木本无心
谢顶~
恐龙特急克塞号前来拜访,国庆即将结束。好好玩哦。
没看懂,不知道为什么要应用这个。
@A.shun
你也看不懂么?可能你没细看吧,主题审核官方要求
函数太多了,要是一点搞懂一个函数也不错。贵在坚持。
@Solo
需要用到的就了解一下
3之後对於WP的官方文档几乎是懒得看了...
等哪天真要写官方主题我一定死在地板上!
@Kana
不需要提交官方直接无视
百度这函数的用法,找到你这来了。很蛋疼的用法,自己用的主题这么折腾的话真是浪费耗时啊。且不说调用php函数王服务器传,服务器解析完再传客户端。这效率啊~~
@yixin
自用/不提交WP官网的主题无需使用此函数。
把多个自定义class组装成数组也可以
@翔子
其实一般主题无需加,主要是WP官方审核需要。