在 foreach 循环中显示 ACF 图像字段

Display ACF image field inside foreach loop

我已经为我的自定义 post 类型创建了自定义分类法。

每个术语只需要显示它的名称(适用于 $term->name;)和一张图片。对于图像,我正在使用 ACF(就像我通常对页面上的自定义字段或 post 所做的那样)。它已设置,当我在仪表板中添加新术语时,我可以 select 图像,但如何在 foreach 循环中显示它?通常的 get_field() 没有显示任何内容。

<ul class="taxonomy-terms">
    <?php
    $terms = get_terms( array(
        'taxonomy' => 'my_taxonomy',
        'hide_empty' => false,
    ) );
    ?>
    <?php foreach ( $terms as $term) { ?>
        <li>
            <img src="<?php the_field('image'); ?>" />
            <?php echo $term->name; ?>
        </li>
    <?php } ?>
</ul>

the_field('image');

的问题

图像字段设置为return图像url。

也许你应该在调用图像时将你的分类法作为参数添加,试试:

<?php if( get_field('image') ): ?>
    <img src="<?php the_field('image', $term); ?>" />
<?php endif; ?>

最好测试图像字段,因为您不想显示空的 <img> 标签。

另外请检查您没有更改图像字段设置中的字段名称。

您可以在此处阅读相关内容:https://www.advancedcustomfields.com/resources/image/ 和这里 : https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/

希望这能奏效,

祝你有美好的一天。

您应该将循环的当前项作为 ACF 函数的第二个参数传递:

<?php the_field('image', $term); ?>

看这里: https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/