解析WordPress中的post_class与get_post_class函数
post_class()post_class 是 WordPress 内置的一个用于显示文章 class 名称的函数,该函数通常会为每一篇文章生成独一无二的 clss 值,如果你需要制作你自己的主题,而且还需要一点个性的话,那你最好驻足一下,使用该函数并配合灵活的 css 代码,我们可以制作出个性化十足的 WordPress 博客。post_class 函数描述 该函数通常会为每一篇文章生成独一无二的 clss 值,可以很方便使用于文章所在的节点中。 函数使用 向其他的诸如 header_image、wp_title这样的 WordPress 标签函数一样,不带 get 的函数通常是会直接显示出来而不返回任何值。 >
是的,也许你已经注意到了,使用 post_class 函数时我们甚至不需要这样去写 clss=“post_class()”;。 实例结果 不卖关子,结果如下 文章内容
以使用为主的函数讲完了, 下面照旧给出函数源代码: 想要了解更多关于该函数,以及get_post_class函数请关注后期文章。 get_post_class 详解get_post_class 是 post_class 函数的基本实现,在 WordPress 中其他一些带 get 的函数一样,该函数将会有一个返回值,而该返回值将是一个包含当前文章基本信息的数组,get_post_class 函数主要用来给每篇文章生成独一无为的 class 值而被封装出来的。如果你是一个要求不高的人的话,那么 post_class 这个函数其实已经足够你折腾了。如果你是一个有着精神洁癖的人,不想自己的 WordPress 网站有太多无用代码的话,那你可以继续往下看。 get_post_class函数详解 该函数主要用来生成一个当前文章相关信息的数组,该数组所含信息我们往往用来作为文章层中的 class 值。 就像我上面提到的 post_class 函数,就是利用了本函数生成的 class 值。 并且该函数支持插入你自己的 class 值,一合并到返回数组中。 以上是我本人的理解,当然你也可以看一下官方的手册。 比较费解的手册内容如下: WordPress Themes have a template tag for the post HMTL tag which will help theme authors to style more effectively with CSS. The Template Tag is called get_post_class. This function returns different post container classes which can be added,typically,in the index.php,single.php,and other template files featuring post content,typically in the HTML tag. 函数用法 如果在循环中,并且不需要插入自定义class值的话,该函数可不接受任何参数。 函数参数 $class:自定义 class 值,可以使字符串也可以死数组。 $post_id:文章ID 使用实例 输出结果:
string(8) "post-249"
[1]=>
string(4) "post"
[2]=>
string(9) "type-post"
[3]=>
string(14) "status-publish"
[4]=>
string(15) "format-standard"
[5]=>
string(6) "hentry"
[6]=>
string(18) "category-catcatcat"
[7]=>
string(8) "tag-tag1"
[8]=>
string(8) "tag-tag2"
}
进阶实例 输出结果:
string(8) "post-249"
[1]=>
string(4) "post"
[2]=>
string(9) "type-post"
[3]=>
string(14) "status-publish"
[4]=>
string(15) "format-standard"
[5]=>
string(6) "hentry"
[6]=>
string(18) "category-catcatcat"
[7]=>
string(8) "tag-tag1"
[8]=>
string(8) "tag-tag2"
[9]=>
string(10) "index-post"
}
总结 根据函数的源代码,我们可以看出,本函数 class 值罗列的顺序为:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |