wordpress获取自定义字段值函数:get_post_meta()
描述
该函数返回指定文章中含有指定关键字自定义字段的值
用法
<?php $meta_values = get_post_meta($post_id, $key, $single); ?>
参数
$post_id
(整数)(必需)希望从中得到数据的文章的编号。用$post->ID获取文章编号。
默认值:None
$key
(字符)(必需)字符,字符中含有希望的meta值的名称。
默认值:None
$single
(布尔值)(可选)如果默认值设为true,函数返回单个字符形式的结果。如果为false或为设置,则函数返回自定义字段的数组。
默认值:false
返回的值
(mixed)
这个函数返回值比较复杂:
- 如果只设置了 $post_id 的值,返回该日志的所有自定义字段的关联数组。
- 如果 $single 设置为 false 或者留空,返回指定 key 的所有值的一个数组。
- 如果 $single 设置为 true,返回指定 key 的第一个值(并且不是在一个数组中)。
- 如果没有东西可以返回的时候,返回空数组,除非 $single 设置为 true ,则返回空字符串。
- 还有一种特殊情况就是,自定义字段的值是序列化的数组,这样 $single 设置为 true,则返回未序列化的数组,而 $single 设置为 false 或者留空,则你会获取一个数组,其中的一个值是序列化之后的字符串,你需要使用 maybe_unserialize 函数将其解析成数组。
示例
先在后台添加自定义字段:
如果没有设置”xzmeta”这个自定义字段的话,$xzmeta 会是false
如果有设置,则返回设置的值。
如果第三个参数设置为false,则返回数组,且相同键值的自定义字段的值会按照添加顺序组合成一个序列数组。
如果只设置$postid参数,那将返回所有的自定义字段值。用法类似于使用get_post_custom()函数
源代码
get_post_meta() 位于 wp-includes/post.php
原文来自:
