我已安装ACF Plugin
,并且在我的帖子中归档了一个图库。我已经尝试了所有these文档,但仍然收到错误消息:
Invalid argument supplied for `foreach()`
之所以会发生这种情况,是因为for的输入不是数组!
您有什么线索吗? 您认为在定义自定义字段时是否需要设置某些内容?
<?php
$images = get_field('mygall');
$size = 'full'; // (thumbnail, medium, large, full or custom size)
if( $images ): ?>
<ul>
<?php foreach( $images as $image ): ?>
<li>
<?php echo wp_get_attachment_image( $image['ID'], $size ); ?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
答案 0 :(得分:1)
我认为您的问题出在您使用get_field()
而不是get_fields()
的事实上。这样就不会得到数组。
如果仍然无法正常工作,请查看get_fields()
here的文档。尝试像仅使用get_fields()
一样对其进行调试,然后查看输出是什么。如果它是一个空数组,则意味着您正在从loop
中调用该函数,并且它无法获取帖子ID。因此,请通过手动设置帖子ID(例如get_fields(123);
)进行第二次测试,并检查结果。如果没有结果,则该帖子有问题。如果有结果,那么您可以进行最终测试,检查get_fields(123, 'gallery')
的结果。
以上所有调试过程都可以包装为以下内容:
echo '<pre>';
print_r( get_fields(123) );
echo '</pre>';
基本上,这将使您了解从此函数获取的数据的结构是什么,以及如何操纵数据以获取所需的信息。