Timber/Twig - 如何访问组内中继器内的 Wordpress Post 对象

Posted

技术标签:

【中文标题】Timber/Twig - 如何访问组内中继器内的 Wordpress Post 对象【英文标题】:Timber/Twig - how to access a Wordpress Post Object inside a Repeater inside a Group 【发布时间】:2020-12-19 18:28:52 【问题描述】:

这是我的设置:

Twig Version: 1.34.4    
ACF Pro 5.8.8

我创建了以下 ACF 字段,我正在尝试将工作网页从标准 php 转换为 Twig。

ACF 字段组 > 组 > 中继器 > 发布对象

在中继器级别,我可以正常访问其他标准字段,并且我在 Twig 模板上显示这些字段没有问题。我的问题是如何访问 Post 对象内部,以便提取标准 WP 字段 Title、Content 等。

我在 https://timber.github.io/docs/guides/acf-cookbook/ 参考 ACF 食谱,并认为关系字段可能会起作用,如下所示:

% for item in Post(post.relationship_field) % 
    item.title 
   # Do something with item #
% endfor %

但是这根本不输出任何东西,所以我不确定它是否正常工作。

在我的 PHP 页面中,我只传递标准的帖子上下文,如下所示:

$context['post'] = $post;

我是否必须在 PHP 页面中添加任何其他内容才能使其正常工作,或者我是否应该能够在 Twig 模板中本地执行此操作?

【问题讨论】:

你能 dump(post) 看看什么吗? 当我对帖子运行完整转储时,它会显示我需要访问的帖子 ID。那显然不是 Post 对象。 ACF 设置是正确的(设置为返回 Post 对象),在以前的非 Twig PHP 网页上,我必须运行单独的 WP_Query 来获取对象。那么我现在在 Twig 中有哪些选择? 【参考方案1】:

已修复!我遇到了这个答案,它为我解决了Issue with Post Object Timber/Twig WordPress。虽然转储中返回了 Post ID,但似乎我试图以不正确的方式访问它。

【讨论】:

以上是关于Timber/Twig - 如何访问组内中继器内的 Wordpress Post 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 poedit 解析 Timber (twig) 模板并检测引用的字符串以进行翻译

markdown 如何在带有Timber / twig的WordPress网站上启用和使用Yoast Breadcrumbs

markdown 如何在带有Timber / twig的WordPress网站上启用和使用Yoast Breadcrumbs

markdown 集成Pattern Lab和WordPress(Timber / Twig)

如何在 Keycloak 中搜索组内的用户?

如何随机抽样删除一些组和随机删除组内的一些个人?