使用高级自定义字段在分类文本后显示图像


Display image after taxonomy text with advanced custom fields

我创建了一个名为:"活动"的自定义帖子类型,并为它创建了一个名为"activity_locations"的分类法。然后,我使用高级自定义字段将自定义字段添加到图像的分类中,此图像字段称为:"activity_location_image"

在单个模板上,我设法使用以下代码显示产品的分类:

Available in: <?php the_terms( $post->ID, 'activity_locations', ' ', ' / ' ); ?>

但是,我需要详细说明这一点,以便在分类文本之后添加一个小图像。我尝试了以下代码,但它不起作用(没有显示任何内容):

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

任何人都可以就如何完成这项工作提供任何建议/帮助吗?

如果您仍在单个模板页面上,那么没有第二个参数get_field()将仅获取当前帖子对象的元数据,而不是相关的术语对象。

如果您阅读了get_field()的文档,您将看到要查询术语字段,您需要使用以下格式

get_field('field_name', 'taxonomyname_X)

其中taxonomynameactivity_locationsX是术语 ID。

由于您要自定义显示并使用有关术语的数据,因此您必须the_terms()wp_get_post_terms()交换,这将为您提供术语对象数组。然后,您可以遍历数组,抓取每个术语的图像并输出 HTML 以显示术语。