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值是什么,如果没有指定关键字,函数将返回空的字符。

 
发车日期:2009.12.09 | 候车室: ,

上一站>:
下一站>: