十年专注,只做WordPress定制开发一件事

WordPress获取文章自定义字段函数get_post_meta()

王超
2020-09-28
WP常用函数
2,555 次

平时我们在定制开发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() ); ?>

获取指定文章指定 key 的 meta

<?php $key_1_values = get_post_meta(1, 'key1'); ?>

在主循环中获取指定 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获取文章自定义字段函数get_post_meta()的详细介绍以及使用方法举例,希望对您有所帮助。

WordPress日记主要承接WordPress主题定制开发PSD转WordPressWordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494 微信:18539976310

搜索

嘿,有问题找我来帮您!