WordPress 高级自定义字段库没有 return 数组
WordPress Advanced Custom Field gallery doesn't return an array
我安装了 ACF Plugin
并且在我的 post 中归档了一个画廊。我已经尝试了所有 these 文档,但仍然出现错误:
Invalid argument supplied for `foreach()`
发生这种情况是因为 for each 的输入不是数组!
你知道这有什么问题吗?
你认为我是否必须在定义自定义字段时设置一些内容?
<?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()
一样调试它,看看输出是什么。如果它是一个空数组,则意味着您正在从 loop
中调用该函数,并且它无法获取 post id。因此,通过手动设置 post id(如 get_fields(123);
)进行第二次测试并检查结果。如果没有结果,那么 post 有问题。如果有结果,那么您可以进行最终测试,检查 get_fields(123, 'gallery')
.
的结果
以上所有调试都可以包含在如下内容中:
echo '<pre>';
print_r( get_fields(123) );
echo '</pre>';
基本上,这会让您了解从该函数获得的数据的结构是什么,以及如何操作它以获得您需要的数据。
我安装了 ACF Plugin
并且在我的 post 中归档了一个画廊。我已经尝试了所有 these 文档,但仍然出现错误:
Invalid argument supplied for `foreach()`
发生这种情况是因为 for each 的输入不是数组!
你知道这有什么问题吗? 你认为我是否必须在定义自定义字段时设置一些内容?
<?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()
一样调试它,看看输出是什么。如果它是一个空数组,则意味着您正在从 loop
中调用该函数,并且它无法获取 post id。因此,通过手动设置 post id(如 get_fields(123);
)进行第二次测试并检查结果。如果没有结果,那么 post 有问题。如果有结果,那么您可以进行最终测试,检查 get_fields(123, 'gallery')
.
以上所有调试都可以包含在如下内容中:
echo '<pre>';
print_r( get_fields(123) );
echo '</pre>';
基本上,这会让您了解从该函数获得的数据的结构是什么,以及如何操作它以获得您需要的数据。