2020-06-28 / 1518阅 / 悠然
返回特定帖子的字段值(名称=>值)数组。
get_fields([$post_id], [$format_value]);
$post_id
(混合) (可选) 保存值的帖子ID。默认为当前帖子。$format_value
(布尔) (可选) 是否应用格式化逻辑。默认为true。(array | false)值的数组;如果未找到任何字段,则返回false。
本示例说明如何显示当前帖子列表中的所有字段(名称和值)。
<?php
$fields = get_fields();
if( $fields ): ?>
<ul>
<?php foreach( $fields as $name => $value ): ?>
<li><b><?php echo $name; ?></b> <?php echo $value; ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
本示例说明如何从不同的数据对象加载所有字段(名称和值)。
// Get values from the current post.
$fields = get_fields();
// Get values from post ID = 1.
$post_fields = get_fields( 1 );
// Get values from user ID = 2.
$user_fields = get_fields( 'user_2' );
// Get values from category ID = 3.
$term_fields = get_fields( 'term_3' );
// ... or using taxonomy name.
$term_fields = get_fields( 'category_3' );
// Get values from comment ID = 4.
$comment_fields = get_fields( 'comment_4' );
// Get values from ACF Options page.
$option_fields = get_fields( 'options' );
// ... or using 'option'.
$option_fields = get_fields( 'option' );
本示例说明如何在不应用任何格式的情况下加载所有字段(名称和值)。
格式化是指从数据库加载后如何修改值。例如,图像字段值仅作为附件ID保存到数据库中,但可以根据字段的设置作为URL返回。
在某些情况下,不管字段设置如何,确保仅返回原始值可能会很有用。为此,我们使用$format_value
参数。
$fields = get_fields( 123, false );