2010年10月03日 62条评论

关于post_class()函数

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')

说完,继续无聊地过国庆……

zww
or
oooo

“关于post_class()函数”有62条评论

  1. ZDAvril says:

    照旧来学习。 :smile:

    1. zwwooooo says:

      @ZDAvril
      照旧荒淫

  2. winw says:

    不懂这方面的东西。

    1. zwwooooo says:

      @winw
      不需要就不需要懂。

  3. 学夫子 says:

    你说既然是开源的,照理说我们都可以自己自定义函数的吧呵呵

    1. zwwooooo says:

      @学夫子
      可以,你自个怎么使用也可以,但是你的主题要提交给他们就要达到他们的要求。

  4. 木本无心 says:

    看不懂,但还是要顶你地。

  5. 恐龙特急克塞号前来拜访,国庆即将结束。好好玩哦。

  6. A.shun says:

    没看懂,不知道为什么要应用这个。

    1. zwwooooo says:

      @A.shun
      你也看不懂么?可能你没细看吧,主题审核官方要求

  7. Solo says:

    函数太多了,要是一点搞懂一个函数也不错。贵在坚持。

    1. zwwooooo says:

      @Solo
      需要用到的就了解一下

  8. Kana says:

    3之後对於WP的官方文档几乎是懒得看了...

    等哪天真要写官方主题我一定死在地板上!

    1. zwwooooo says:

      @Kana
      不需要提交官方直接无视

  9. yixin says:

    百度这函数的用法,找到你这来了。很蛋疼的用法,自己用的主题这么折腾的话真是浪费耗时啊。且不说调用php函数王服务器传,服务器解析完再传客户端。这效率啊~~

    1. zwwooooo says:

      @yixin
      自用/不提交WP官网的主题无需使用此函数。

  10. 翔子 says:

    把多个自定义class组装成数组也可以

    1. zwwooooo says:

      @翔子
      其实一般主题无需加,主要是WP官方审核需要。

回复给 winw ¬
取消回复

昵称 *

网址

B em del U Link Code Quote