平时我们在定制开发wordpress主题的时候,给文章添加自定义字段并在前端获取是再常见不过了,关于添加自定义字段在这里我们不多说,主要介绍一下怎么在前端获取指定文章的自定义字段,这个时候我们就需要用到一个wordpress自带的函数get_post_meta()。
函数基本用法
<?PHP get_post_meta($post_id,$key,$single); ?>
函数参数说明
$post_id
(integer) (required) 要获取自定义字段的日志 ID。
Default: None
$key
(string) (required) 要获取自定义字段的名称(key)。
Default: None
$single
(boolean) (optional) 如果设置为 true,返回单个值。如果 false 或者没设置,则返回自定义字段的数组。
Default: false
函数返回值详解
这个函数返回值比较复杂:
如果只设置了 $post_id 的值,返回该日志的所有自定义字段的关联数组。
如果 $single 设置为 false 或者留空,返回指定 key 的所有值的一个数组。
如果 $single 设置为 true,返回指定 key 的第一个值(并且不是在一个数组中)。
如果没有东西可以返回的时候,返回空数组,除非 $single 设置为 true ,则返回空字符串。
还有一种特殊情况就是,自定义字段的值是序列化的数组,这样 $single 设置为 true,则返回未序列化的数组,而 $single 设置为 false 或者留空,则你会获取一个数组,其中的一个值是序列化之后的字符串,你需要使用 maybe_unserialize 函数将其解析成数组。
<?PHP $Meta = get_post_meta( get_the_ID() ); ?>
<?PHP $key_1_values = get_post_meta(1,'key1'); ?>
<?PHP
$key_1_value = get_post_meta($post->ID,'key_1',true);
// check if the custom field has a value
if($key_1_value != '') {
echo $key_1_value;
}
?>
以上就是本篇文章关于wordpress获取文章自定义字段函数get_post_meta()的详细介绍以及使用方法举例,希望对您有所帮助。