1. 主页
  2. 文档
  3. WordPress函数
  4. get_post_meta

get_post_meta

get_post_meta:获取自定义字段

这个函数获取指定日志的指定 key 的自定义字段,如果要获取指定日志的所有自定义字段,使用 get_post_custom()。

WordPress 中的自定义字段是很多主题会用到的,get_post_meta 函数是用来取出自定义字段的值所设立的一个函数,该函数普遍用于主题的一些个性表现中,本文主要会讲解一下该函数的使用及一些实例。

用法

<?php $meta_values = get_post_meta($post_id, $key, $single); ?>

参数解释

$post_id
(整数) (必须的)包含此meta文章的ID;如果在循环中,你可以用 get_the_ID()来设置
$key
(字符串) (必须的) 此meta的名称
$single
(布尔型) (可选)
Default: false
如果设为true, 则返回单个的meta的值;
如果设为false, 则返回一个数组字符串型

返回值

这个函数返回值比较复杂:

  • 如果只设置了 $post_id 的值,返回该日志的所有自定义字段的关联数组。
  • 如果 $single 设置为 false 或者留空,返回指定 key 的所有值的一个数组。
  • 如果 $single 设置为 true,返回指定 key 的第一个值(并且不是在一个数组中)。
  • 如果没有东西可以返回的时候,返回空数组,除非 $single 设置为 true ,则返回空字符串。
  • 还有一种特殊情况就是,自定义字段的值是序列化的数组,这样 $single 设置为 true,则返回未序列化的数组,而 $single 设置为 false 或者留空,则你会获取一个数组,其中的一个值是序列化之后的字符串,你需要使用 maybe_unserialize 函数将其解析成数组。

实例

获取所有 key 的 meta:

<?php $meta = get_post_meta( get_the_ID() ); ?>

获取单个 key 的 meta:

<?php $key_1_values = get_post_meta(76, 'key_1'); ?>

在主循环中获取指定 key 的第一个值

<?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 主循环中,你可以使用下面的代码获取名字为“thumb”的自定义字段的值作为缩略图地址。

<?php if ( get_post_meta($post->ID, 'thumb', true) ) : ?>
    <a href="<?php the_permalink() ?>" rel="bookmark">
        <img class="thumb" src="<?php echo get_post_meta($post->ID, 'thumb', true); ?>" alt="<?php the_title(); ?>" />
    </a>
<?php endif; ?>

自定义字段名称为description

在网页文件代码中加入:
get_post_meta($post->ID, “description”, true);
可以返回description标签的值。

相关函数

add_post_meta(),
update_post_meta(),
delete_post_meta(),
还有自定义字段的扩展用法相关的函数。

get_post_custom(),
get_post_custom_values(),
get_post_custom_keys()。

补充:如何添加自定义字段

这篇文章对您有用吗? 1

我们要如何帮助您?