描述
返回特定字段的值。直观且功能强大(很像 Advanced Custom Fields(ACF) 本身?),该函数可用于从任何位置加载任何字段的值。请注意,每个字段类型返回不同形式的数据(字符串、整数、数组等)。
参数
get_field($selector, [$post_id], [$format_value]);
$selector
(字符串) (必需) 字段名称或字段键。$post_id
(混合) (可选) 保存值的文章/页面 ID。默认为当前文章/页面。$format_value
(bool) (可选) 是否应用格式化逻辑。默认为 true。
返回
(混合)字段值。
例子
从当前帖子中获取值
此示例演示如何从当前帖子加载字段“text_field”的值。
$value = get_field( "text_field" );
从特定帖子中获取值
此示例演示如何从 ID = 123 的帖子中加载字段“text_field”的值。
$value = get_field( "text_field", 123 );
检查值是否存在
此示例演示如何检查字段的值是否存在。
$value = get_field( "text_field" );
if( $value ) {
echo $value;
} else {
echo 'empty';
}
从不同的对象中获取值
此示例显示了各种$post_id值,用于从帖子、用户、术语和选项中获取值。
$post_id = false; // current post
$post_id = 1; // post ID = 1
$post_id = "user_2"; // user ID = 2
$post_id = "category_3"; // category term ID = 3
$post_id = "event_4"; // event (custom taxonomy) term ID = 4
$post_id = "option"; // options page
$post_id = "options"; // same as above
$value = get_field( 'my_field', $post_id );
获取不带格式的值
在此示例中,字段“image”是通常返回 Image 对象的图像字段。但是,通过将 false 作为第三个参数传递给 get_field 函数,该值永远不会被格式化并按原样从数据库返回。
请注意,第二个参数设置为false以定位当前帖子。
$image = get_field('image', false, false);
参考链接:https://www.wpdaxue.com/advanced-custom-fields.html
笔记
在 ACF 5.11 之前,get_field()
可用于检索与 ACF 字段不关联的项目的选项或元值。这会产生安全隐患,因为站点选项可能会被暴露。get_field()
还可以检索不再在 ACF 中注册的字段的值。
这已在 ACF 5.11 中更新,请参阅5.11 资源中 ACF 字段函数的更新以获取更多信息。
有关的
- 基本:the_field()
- 入门:在主题中显示值
- 指南:从其他帖子获取价值
- 指南:如何从评论中获取价值
- 指南:向媒体附件添加字段
- 指南:向分类术语添加字段
- 指南:从用户那里获取价值
- 指南:从小部件获取值
- 指南:从选项页面获取值
- 函数:delete_field()
- 函数:update_field()