我已经为我的自定义帖子类型创建了一个自定义分类法。
每个术语只需要显示它的名称(适用于$term->name;)和一个图像。对于图像,我使用ACF (就像我通常在页面或帖子上使用自定义域一样)。它已经设置好了,我可以在仪表板中添加新术语时选择一个图像,但是如何在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');
图像字段被设置为返回图像url。
发布于 2020-12-14 21:42:49
也许您应该在调用图像时将您的分类法作为参数添加,请尝试:
<?php if( get_field('image') ): ?>
<img src="<?php the_field('image', $term); ?>" />
<?php endif; ?>最好测试Image字段,因为您不希望显示空的<img>标记。
另外,请检查您是否未在图像字段设置中更改字段名称。
你可以在这里阅读到:https://www.advancedcustomfields.com/resources/image/和这里:https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/
希望这能奏效,
祝你今天愉快。
发布于 2020-12-14 21:51:10
您应该将循环的当前项作为ACF函数的第二个参数进行传递:
<?php the_field('image', $term); ?>查看此处:https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/
https://stackoverflow.com/questions/65289853
复制相似问题