WordPress 自定义字段
2007年08月05日
我们在使用 WordPress 撰写日志或者页面的时候,都会在编辑框下面看到自定义字段 ( custom fields ),可能很多人都没有关注过这个 WordPress 自定义字段到底是干什么用的?其实 WordPress 自定义字段非常有用,它是对 WordPress Posts 表的一种补充和扩展,通过自定义字段,我们可以很容易就给日志或者页面增加额外的内容,如我在我爱水煮鱼上面就使用 WordPress 自定义字段记录当前日志的浏览次数和它的 bit.ly 的短链接,如下图所示:

WordPress 自定义字段
WordPress 自定义字段是如何工作的
当你创建或者编辑日志或者页面的时候,增加的自定义字段通常有两个的变量:键 ( key ) 和值 ( value )。如果你想显示你写日志当时的心情,你可以把键叫做 "mood",显然在这里值就是 "高兴" 或者 "愤怒"。
当我们为某篇日志或者页面创建一个自定义字段的时候,我们所写的信息将会存储到该日志或者页面中。换句话说,我们所写的数据属于当前的日志或者页面,所以我们能够显示当前日志或者页面相关的自定义字段信息。
如何在博客上显示自定义字段的数据
当我们想显示日志或者页面的 WordPress 自定义字段的时候,我们有几种方法。这里我将介绍两种简单的方法和一些更高级的用法。
首先,可以使用 the_meta() 这个模版函数,它会自动输出一个无序的列表,如下所示:
- Key1: Value of "Key1″
- Key2: Value of "Key2″
- Key3: Value of "Key3″
第二个我会提到的是函数:get_post_meta($post_id, $key, $single = true)。这个函数能够能按照自己的需求列出自定义字段。如通过使用 get_post_meta($post->ID, "Key2″, $single = true); 可以返回自定义字段 "Key3" 的值,你可以输出它,如 "echo get_post_meta($post->ID, "Key2″, $single = true);"
WordPress 自定义字段高级用法
我将给你展示一些高级使用 WordPress 自定义字段的方法,这个需要一点 PHP 的基础。
所以,你可能想用一张表情图片显示你写日志时候的心情,那么就去制作这些表情图片,并把它们命名为 Sad.gif, Mad.gif and Happy.gif 。代码片段如下:
<img src="/smilies/<?php echo get_post_meta($post->ID, "mood", $single = true); ?>.gif" alt="mood" />
又假如你在看书,可能你想写日志时候显示你正在看什么书 -- 这个很容易,但是一旦你读了不止一本书,并想把他们全部一起显示出呢?
WordPress 允许你在很多日志中使用相同的自定义字段健,你可以通过把 "$single = true" 改成 "$single = false" 来“群组”这些键。换句话说,它会返回一个数组,代码如下:
<?php $books = get_post_meta($post->ID,"books", $single = false); ?> <p>I am currently reading:</p> <ul> <?php foreach( $books as $book ) { echo "<li>".$book."</li>"; }?> </ul>
WordPress 自定义字段可以让一切都变得容易
很多时候,当我们查找 CMS 系统的时候,其实完全可以不用跳出 WordPress 去查找。通过使用自定义字段,你可以很快给日志和页面附上额外的信息等。还能很快改变信息显示方式,而不用编辑你所有的日志。
翻译自:WordPress how-to: Custom Fields 约有删节,请注意。
Custom Fields 的更多参考资料:
- WordPress Codex 文档:Using_Custom_Fields
- One Way To Use Custom Fields
该文翻译:WordPress 自定义字段的一种用法 - Using WordPress as a CSS gallery
该文翻译:把 WordPress 作为 CSS Gallery
34 条评论 添加你的评论 →
发表评论
你必须 登陆 之后才能留言。你可以使用以下方式快速登陆我爱水煮鱼:

1. Jacky | 2007:08:05 - 21:38:56 | #
很喜欢研究WP, 但是PHP十分马虎, 高级用法看得有点昏头了…呵呵~!
2. icaction | 2007:08:05 - 22:36:04 | #
有例子吗?
3. Denis | 2007:08:05 - 22:39:29 | #
暂时没有,有我会贴出来的。
4. 央街浪子 | 2007:08:05 - 22:51:29 | #
GaMerZ的插件wp-postviews正是用到了此字段
5. sego | 2007:08:05 - 22:55:37 | #
沒看懂,嘿嘿
6. Denis | 2007:08:05 - 22:58:06 | #
央街浪子 ,研究很深啊,呵呵!
7. Andor | 2007:08:06 - 08:55:43 | #
一般很少用……
8. Giki | 2007:08:06 - 15:51:54 | #
会有用的~Hoho,不过一般的blogger不懂用吧
9. i.am.Ben | 2007:08:06 - 19:26:15 | #
O_o 专业人士一出手就是不一样~~~~ 嘿嘿~~~~
10. Gloridea | 2007:09:01 - 23:48:49 | #
好象很有用啊!
“您是使用 IE 浏览器从 http://www.baidu.com 搜索 自定义字段 wordpress 来到这里。本站建议你 下载带有 Google 工具栏的 Firefox 浏览器,获得最佳浏览效果!”
这个东西是怎么做到啊?做这个有收入的吗?
11. Gloridea | 2007:09:01 - 23:52:45 | #
好象很有用啊!那个我是从那里、通过什么关键词来到这里的东西是怎么做的啊?做这个有收入的吗?
12. Denis | 2007:09:01 - 23:56:23 | #
没有收入,只是好玩!
13. ngpod | 2007:11:07 - 09:34:33 | #
如何使用自定义字段的演示!
the demo of how to use Csutom Fields!!
haha!
能否与贵站做个友情!
14. Denis | 2007:11:07 - 10:20:47 | #
@ngpod 添加你的链接了,你的站点做得非常不错!
15. Mo | 2007:11:20 - 17:20:10 | #
怎么把它做到Keywords里面去,我死活做不出来。
16. Denis | 2007:11:20 - 17:47:00 | #
@Mo 我也不会!
17. jason | 2008:01:27 - 19:23:41 | #
还是没看懂,期待演示!
18. 汽车图片 | 2008:04:22 - 16:07:06 | #
最近两天也在研究自定义字段,打算改成CMS风格
19. 白云山 | 2008:05:29 - 07:46:38 | #
好东西
20. liloli | 2008:06:11 - 08:58:16 | #
飞猪你好!自从我安装wordpress以来就常来你这儿找食儿吃,受益匪浅,感谢啦!
因为我对编程不在行,昨天试着弄了一天也没把这个自定义字段整明白。
我是想这样:在首页每篇文章的标题后面显示该文章含有的文件类型,比如视频、照片、音频,显示对应的小图标。
我在自定义字段里分别加上video.audio.pic这三个字段,然后如果这篇文章有视频,我在写文章的时候,给video字段的值就是1。
我现在就是不知道怎么让他们显示出来,不知方便帮帮兄弟否?谢了先!!
21. liloli | 2008:06:11 - 09:17:44 | #
哈哈,我给你留言之后就搞定了,那就不麻烦了,多谢!
22. friendlysky | 2008:09:02 - 19:39:59 | #
我晕~~完全不明白~~希望你可以用通俗的语言解析,你这样翻译就完全一塌糊涂
23. Horse | 2008:11:08 - 14:15:55 | #
我也看不明白,很不明白……
24. csslog | 2008:11:26 - 18:48:15 | #
学到东西啦 非常棒
25. freesky | 2008:12:06 - 16:03:17 | #
不知道有没有更基础一些的应用实例!
26. Sean | 2009:01:31 - 19:39:55 | #
好博哈 !
顶你!
27. Jalena | 2009:09:15 - 07:11:49 | #
28. kevin | 2009:09:19 - 09:09:08 | #
确实很好,但没有用过.
29. 园子 | 2009:09:19 - 10:09:40 | #
专业的文章
加强学习 WP 知识
每次饿了就来你这找食物~
30. Bodhi | 2009:09:19 - 21:16:43 | #
postviews 赫赫然在那里矗着呢…… 你先说了什么叫字段吧,免得这么多人云遮雾罩的。
31. wongvee | 2009:09:21 - 22:57:37 | #
这里显示的头像是哪里的?
32. kelvin | 2009:09:23 - 22:01:54 | #
有没有清理自定义字段的 插件 或者 方法啊 ~~
我发现 好多日志 的 自定义字段都 十几条甚至几十条重复的。
33. 丸子 | 2009:09:28 - 14:34:35 | #
完了,彻底没看懂…
34. Denis | 2009:09:28 - 16:08:13 | #
你猪哇!