我们在使用WordPress编写文章的时候,通常可以看到一个“自定义栏目”,也经常看到别人的文章提到自定义字段,那么这个自定义栏目是用来做什么的,自定义字段(自定义域)又是什么东西?有什么作用?
WordPress 自定义字段 简介
WordPress 自定义字段是对 WordPress Posts 表的一种补充和扩展,一般来讲 WordPress 提供了博客日志的作者,分类,标签,时间等,然后你可以根据你的需要自定义出一系列的其他信息。所有的这些字段和值,都保存在数据库的 wp_post_meta 这个数据表里。
很多WordPress主题、插件都经常使用自定义字段来扩展功能。比如倡萌制作的主题都是使用了自定义字段来统计文章的浏览次数:
WordPress 自定义字段工作机制
WordPress 自定义字段通常有两个的变量:键 ( key ) 和值 ( value )。比如你想显示你写日志当时的心情,你可以把键叫做 “mood”(心情),显然在这里值就是 “高兴” 或者 “愤怒”。
当我们为某篇日志或者页面创建一个自定义字段的时候,我们所写的信息将会存储到该日志或者页面中。换句话说,我们所创建的自定义字段的的数据是属于当前的日志或者页面,所以我们能够显示当前日志或者页面相关的自定义字段信息。
如何在博客上显示自定义字段的数据
当我们想显示日志或者页面的自定义字段的时候,我们有几种方法。这里介绍两种简单的方法和一些更高级的用法。
首先,可以使用 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); 可以返回自定义字段 “Key2″ 的值,你可以输出它,如 “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>参考书籍:</p>
<ul>
<?php foreach( $books as $book ) {
echo "<li>".$book."</li>";
}?>
</ul>
WordPress 自定义字段扩展了 WordPress
WordPress 自定义字段极大的扩展了 WordPress 的功能,很多主题都是通过增加自定义字段来增强和定义功能,很多插件都是基于 WordPress 自定义字段做的。灵活使用 WordPress 自定义字段可以把 WordPress 打造成强大的 CMS 系统,通过使用自定义字段,我们可以很快给日志和页面加上很多额外的信息,并且不用编辑日志就能很快改变信息显示方式。
新人报道,很好的教程文章,我想知道,如果我为单个post增加的自定义field,是否可以作用在其他post上?
哦,key会自动出现在下拉菜单中,懂了~
哈哈,专业啊。。。
能在后台用 选择点击的方式 选定吗?
发现首页的文章列表无法获取自定义字段
用
get_post_meta
就可以啦。不行啊~~求首页自定义字段调用方法?
同问,首页侧边栏好像无法调用
请教一下,我想在附件里添加百度,360等网盘下载地址应该怎么做?
wordpress 3.8.3的自定义栏目在哪?
在最顶上“显示选项”里边把勾勾打开就行了。。
不过我想问倡萌的是:在新版WP中如何添加(创建)自定义字段呢?好像只能是选择啊。。
已经找到了,不好意思。
有了这个功能顿时觉得wordpress,你值得拥有!哈哈
顶部有个选项按钮,点开就有了
学习了。
昨天刚好用到get_post_meta这个函数