wordpress函数之get_post_meta()
开往->网页应用方向 | 驾驶员: 飘雨云翳 | 热心乘客 (0)人
get_post_meta()
说明
该函数返回指定文章中含有指定关键字自定义字段的值。参见 update_post_meta(), delete_post_meta() 和 add_post_meta() 。
用法
<?php $meta_values = get_post_meta($post_id, $key, $single); ?>
示例
下面我们简单看看自定义字段能做些什么,WordPress codex 文档中提到了4个的例子:
- Mood: Happy
- Currently Reading: Cinderella
- Listening To: Rock Around the Clock
- Weather: Hot and humid
什么意思呢?就是你在一篇日志的自定义字段里新建一个字段名(字段的KEY):Mood(可以自己随便起名),然后赋值(字段的Value):Happy,然后在主题日志页面的某一个地方调用这个字段Mood并显示出来。
就像是这样:
| 写日志时的心情:Happy |
下面来简单说说自定义字段的调用方式:
1.最简单的调用
在模板里添加:
1 |
<?php the_meta(); ?> |
输出的html样式是:
1 |
<ul class='post-meta'> |
2 |
<li><span class='post-meta-key'>Mood:</span> Happy</li> |
3 |
</ul> |
即KEY:Value的形式。
| Mood:Happy |
2.复杂一点的调用
使用函数:
1 |
get_post_meta($post_id, $key, $single = true) |
解释一下:
- $post_id 是你指定一篇日志的ID,并调用里面的自定义字段. 用 $post->ID 来自动获取当前日志的ID.
- $key 就是自定义字段的名字啦.
- $single 可以是true或false. 设置为true,那么会返回一个结果。设置为false,返回一个数组的结果。(这点我们下面说吧)
同样用上面那个例子,我们要调用mood字段:
1 |
我的心情是: |
2 |
<?php get_post_meta($post->ID, 'mood', true);?> |
3 |
你呢? |
那么你会看到这样的结果:
1 |
我的心情是: |
2 |
Happy |
3 |
你呢? |
现在我们说$single问题,wp允许为同一个key设置多个Value,如果需要同时显示,必须将$single设为false。
假设我们的一篇日志有多个修订者,分别是AAA,BBB,CCC。我们设置一个KEY叫editor,分别赋值作者名。
那么就该这样调用:
1 |
<?php $editors = get_post_meta($post->ID,"editor", false); ?> |
2 |
<p>本文修订者有:</p> |
3 |
<ul> |
4 |
<?php foreach( $editors as $book ) { |
5 |
echo "<li>".$editor."</li>"; |
6 |
}?> |
7 |
</ul> |
输出为这样:
1 |
本文修订者有: |
2 |
AAA |
3 |
BBB |
4 |
CCC |
参数
$post_id
(整数)(必需)希望从中得到数据的文章的编号。用$post->ID获取文章编号。
默认值:None
$key
(字符)(必需)字符,字符中含有希望的meta值的名称。
默认值:None
$single
(布尔值)(可选)如果默认值设为true,函数返回单个字符形式的结果。如果为false或为设置,则函数返回自定义字段的数组。
默认值:false
返回的值
- 若$single设为false或空,函数返回一个包含指定关键字的所有值的数组
- 若$single设为true,函数返回指定关键字的第一个值(不是数组)
无论$single值是什么,如果没有指定关键字,函数将返回空的字符。


热门车次