我用ACF自定义字段“ gallery”创建了一个画廊。但我想在每张照片上添加更多设置。
为此,我创建了两个ACF自定义字段,这些字段已添加到Wordpress Medias中,以确定每个图像的大小和位置。在下面的屏幕截图中:“ Taille”和“ Position”下拉列表是我的自定义字段。
在后台: “ photo_size”是下拉列表“ Taille”的自定义字段的名称 “ photo_position”是下拉列表“ Position”的自定义字段的名称
我设法创建了照相馆,但没有设法获得这些其他自定义字段。
我尝试过这个:
$file = get_field('show_gallery');
$photo_size = get_field('photo_size', $file['ID']);
$context['photo_gallery'] = $photo_size;
我尝试获取附加到每个图像的'photo_size'的值:
{% for item in photo_gallery %}
<img src="{{ Image(item).src }}" class="gallery__img {{ item.photo_size }}" alt="{{ Image(item).alt }}">
{% endfor %}
答案 0 :(得分:1)
$ photo_size是否为数组?看起来不像。如果您{{dump(photo_gallery)}}会得到什么?还是var_dump($ photo_size)在您的php文件中?看起来您应该遍历show_gallery字段而不是photo_size字段,但是很难知道给定的字段名称,而且我们看不到您的字段设置(毫无疑问,这里有些语言障碍-如果我会说法语,我会可能会更好)。基本上,我们需要知道show_gallery字段是如何设置的,然后我确定它将变得更加清晰。
所以也许你应该有这样的东西:
$context['photos'] = get_field('show_gallery');
然后
{% for item in photos %}
{% set photo_size = function('get_field','photo_size',item.id) %}
<img src="{{ item.url }}" class="gallery__img {{ photo_size }}" alt="{{ item.alt }}">
{% endfor %}>
答案 1 :(得分:0)
谢谢教务长的回答。进行一些更正后,效果很好。
对于那些想知道正确代码的人:
{% for item in post.meta('photos') %}
{% set photo_size = function('get_field','photo_size',item.id) %}
<img src="{{ item.url }}" class="gallery__img {{ photo_size }}" alt="{{ item.alt }}">
{% endfor %}>