Twig 使用带有木材/细枝的ACF走廊

Twig 使用带有木材/细枝的ACF走廊,twig,advanced-custom-fields,timber,Twig,Advanced Custom Fields,Timber,我正在使用Timber(Twig的WordPress插件实现)和Advanced Custom Fields插件gallery field。我有一个工作画廊下的自定义职位类型,所以ACF和木材是工作在其他地方的网站,但不是一个标准的页面。当我尝试向页面添加图库时,我得到的结果是imgsrc标记的空标记 我在page.php的模板文件夹中有以下内容: $context = Timber::get_context(); $page = new TimberPost(); $context['pag

我正在使用Timber(Twig的WordPress插件实现)和Advanced Custom Fields插件gallery field。我有一个工作画廊下的自定义职位类型,所以ACF和木材是工作在其他地方的网站,但不是一个标准的页面。当我尝试向页面添加图库时,我得到的结果是
imgsrc
标记的空标记

我在page.php的模板文件夹中有以下内容:

$context = Timber::get_context();
$page = new TimberPost();

$context['page'] = $page;

if ($photos = $page->get_field('photos')) {
    $context['photos'] = $photos;
}
我在主题的模板/页面/文件夹中的default.twig中有这个(为了简单起见删除了html):

{%if page.photos%}
{%p在page.photos%}
{{p.caption}}
{%endfor%}
{%endif%}
这将导致页面源代码

如果我在page.photos中的p的
语句中使用
{{dump(photos)}
,它将转储我在后端的Gallery字段中输入的图像数组。因此图像数组存在并正在输出。
relative
扩展适用于所有职位类型;移除它在这里没有什么区别


那么为什么
p.size.gallery | relative
函数不输出每个图像的url和标题?

您将数据附加到$context['photos']中,因此我认为您应该更改代码,检查
如果照片
,并作为
在照片中重复p
将数据附加到
$context['photos']
那么,你的代码不应该检查
是否有照片
并作为“照片中的p”进行迭代吗?@Owi,啊,就是这样。谢谢我只是没看到。加上这个作为答案。我刚刚加上了答案,谢谢;)
{% if page.photos %}

{% for p in page.photos %}

<img src="{{ p.sizes.gallery|relative }}" alt="{{ p.alt }}" /> 

{{ p.caption }}

{% endfor %} 

{% endif %}