无法从自定义 Post 类型中检索 ACF 值

Cannot retrieve ACF values from Custom Post Type

我有一个名为 'fotos' 的自定义 Post 类型,它连接了几个 ACF 字段。

在我主页的 while 循环中,我正在从该 CPT 中检索最新的 posts。我想为每个 post 显示一个名为 'clients' 的 ACF 字段。 $photo->ID 正确 returning CPT 的 ID post。

<?php
if (have_posts()) :
    while (have_posts()) : the_post(); ?>
<!-- ... -->
  <?php
    $recent_photos = wp_get_recent_posts(array(
        'numberposts' => '8',
        'post_type' => 'fotos',
        'post_status' => 'publish',
    ));
    if ($recent_photos):
        ?>

            <?php foreach ($recent_photos as $photo): ?>
                <div class="item-grid--item">
                    <?php the_field('client', $photo->ID); ?>
                </div>
            <?php endforeach; ?>

<?php endif; ?>
<!-- ... -->
    <?php endwhile;
else:
    _e('Sorry, no posts matched your criteria.', 'textdomain');
endif;
?>

然而,the_field、get_field、the_sub_field 或 get_sub_field return 绝对没有。可能是什么?我检查了一切,一切正常!

wp_get_recent_posts 的默认 return 值类型是关联数组而不是对象。

因此您可以更改 wp_get_recent_posts

的 return 类型
$recent_photos = wp_get_recent_posts(array(
        'numberposts' => '8',
        'post_type' => 'fotos',
        'post_status' => 'publish',
    ), object);

或者您可以在默认代码中更改获取 ID。

<?php the_field('client', $photo['ID']); ?>