php – WordPress高级自定义字段库不返回数组

我安装了ACF插件,我的帖子中有一个画廊.我已经尝试了所有
these文档,但仍然收到错误:

Invalid argument supplied for `foreach()`

发生这种情况是因为每个输入都不是数组!

你有什么问题吗?
我是否认为在定义自定义字段时是否需要设置内容?

<?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; ?>

最佳答案 我认为你的问题来自于你使用get_field()而不是get_fields().这是你没有得到阵列的方式.

如果它仍然不起作用,请检查get_fields()here的文档.尝试调试它,就像只使用get_fields()一样,看看输出是什么.如果它是一个空数组,则表示您正在循环调用该函数,并且它无法获取post id.所以做第二个测试,手动设置post id,如get_fields(123);并检查结果.如果没有结果,则该帖子有问题.如果有结果,那么你可以做一个最终测试,检查get_fields(123,’gallery’)的结果.

所有上述调试都可以包含在以下内容中:

echo '<pre>';
    print_r( get_fields(123) );
echo '</pre>';

基本上,这将使您了解从此函数获得的数据结构以及如何操作它以获得所需的数据.

点赞