Post Object Timber/Twig WordPress 问题

Issue with Post Object Timber/Twig WordPress

我有一个ACF字段,它是一个Repeater,Repeater里面有一个Post Object.

控制器

/* Template Name: Strategic Partners */

use Timber\Timber;
use Timber\PostQuery;
use Flynt\Utils\Options;

use const Flynt\Archives\POST_TYPES;

$context = Timber::get_context();

$context['slider'] = get_field('slider');
$context['featured'] = get_field('featured');

if (isset($_GET['contentOnly'])) {
    $context['contentOnly'] = true;
}

Timber::render('templates/StrategicPartners/index.twig', $context);

这是来自 View

的片段
{% for partner in Post(featured) %}
  {{ partner.link }}
{% endfor %}

我正在 var_dump 上下文,它正在获取 Timber Post...但是 {{ partner.title }} 没有获取 Post 标题,它是空白的。

{{ partner.link }}直接出来link.

输出

http://***/strategic-partners/
http://***/strategic-partners/

我在这里做错了什么?我在一个单独的中继器中使用 {{ Post() }}},在 foreach 本身内,它在另一个页面上工作,但它在这里也不起作用,所以我尝试了 Post() 包含在foreach 但它仍然无法正常工作。

没有人帮我回答这个问题。我自己回答了。

正式的 Timber 文档中没有太多关于此的文档,所以我希望这对某些人有所帮助。

不要用你的 foreach

调用 Post

对中继器 (ACF) 中的 Post 对象执行此操作

{% for item in seq %}
 {{ Post(item.post_object_name).field }}
{% endfor %}

seq 是您的 ACF 字段

post_object_name 是字段中的 Post 对象。

field 是 Post 对象类型中的字段。

希望这对某人有所帮助。

更多上下文:

控制器

<?php

/* Template Name: Strategic Partners */

use Timber\Timber;
use Timber\PostQuery;
use Flynt\Utils\Options;

use const Flynt\Archives\POST_TYPES;

$context = Timber::get_context();

$context['slider'] = get_field('slider');
$context['featured_sps'] = get_field('featured_strategic_partners');
$context['rebate'] = get_field('rebate_information');

if (isset($_GET['contentOnly'])) {
    $context['contentOnly'] = true;
}

Timber::render('templates/StrategicPartners/index.twig', $context);

树枝视图

{% for partner in featured_sps %}
  {{ Post(partner.featured).title }}
{% endfor %}

图像更复杂

{% for partner in featured_sps %}
  <div class="slide">
    <a href="{{ Post(partner.featured).link }}">
      <img src="{{ Image(Post(partner.featured).logo).src }}" alt="{{ Post(partner.featured.title) }} Logo">
    </a>
  </div>
{% endfor %}