在分类循环内动态输出ACF字段

时间:2017-04-13 作者:Diogo

因此,我有一个块,它在我的分类法上循环并加载一个模板文件,以便在其中显示每个分类法:

<?php
  $collections = get_terms( \'resource-collection\', array(
    \'orderby\'     => \'name\',
    \'hide_empty\'  => 0,
    \'pad_counts\'  => true,
) ); ?>

<?php if ( ! empty( $collections ) ) : ?>
  <?php foreach ( $collections as $collection ) : ?>
    <?php include locate_template( \'sections/collection-tile.php\' ); ?>
  <?php endforeach; ?>
<?php endif ?>
该模板文件(collection tile.php)指的是每个分类法在前端的显示方式。

我想为循环中返回的每个分类法输出一个使用ACF构建的自定义字段。它是一个图像字段,设置为返回对象数组。下面是我在模板文件中所做的:

<?php $img = get_field(\'my_custom_field\'); ?>
<img src="<?php echo $img[\'url\'] ?>">
这本该成功的。但不知怎的,它出了问题,我得到:

<img src= (unknown)>
因此,似乎WP无法在循环中使用相应的查询项正确地寻址字段。

我做了一些研究,但无法找出问题所在。

任何帮助都将不胜感激。提前感谢!

1 个回复
最合适的回答,由SO网友:Diogo 整理而成

好了,问题解决了。事实上,这是一个非常基本的错误。

我所需要做的就是将查询的术语作为中的第二个参数传递给get_field();. 我甚至在这里发表了一条评论,引用了ACF的一份文件,解释了。。。

原来我已经创建了分类法数组$collections, 然后在中返回正确的术语<?php foreach ( $collections as $collection ) : ?>.

我想做的就是$term = get_queried_object(); 之后是get_field(\'my_custom_field\', $term) 在模板文件中。难怪它不起作用了。。。(我猜这是工作到深夜太长时间的副作用……你开始变傻了)。

所以,就在这里。仅此而已:

<?php $img = get_field(\'my_custom_field\', $collection); ?>
<img src="<?php echo $img[\'url\'] ?>">
砰!现在它显然起作用了。没有什么比新鲜的一天更让人心旷神怡的了。

相关推荐

Increase offset while looping

我正在编写一个自定义帖子插件,它将自定义帖子分组显示为选项卡。每组4个岗位。是否可以编写一个偏移量随每次循环而增加的查询?因此,结果将是:-第一个查询显示从1到4的帖子-第二个查询显示从5到8的帖子-第三个查询显示从9到12的帖子等。 <div class=\"official-matters-tabs\"> <?php $args = array(\'post_type\' => \'official-matters\', \'showp