wordpress - Post Object Timber/Twig WordPress 问题

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

Controller

/* 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 帖子...但是 {{ partner.title }} 没有获取帖子标题,它是空白。

{{ partner.link }} 带有直接链接。

输出

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

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

最佳答案

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

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

不要用你的 foreach 调用 Post

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

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

seq 是您的 ACF 字段

post_object_name 是字段中的 Post 对象。

field 是 Post Object 类型中的字段。

希望这对某人有帮助。

更多上下文:

Controller

<?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);

Twig View

{% 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 %}

https://stackoverflow.com/questions/61805121/

相关文章:

amazon-web-services - 如何替换 AWS Auto Scaling 组中的特定实

google-app-engine - gcloud app deploy - 更新服务默认值失败,

django - 将 Django 连接到 Microsoft SQL 数据库

ios - SecurityApplicationGroupIdentifier 的应用组返回 ni

javascript - 在 includes() 中使用 "OR"运算符来试验字符串中是否存在任何

bash - 如何捕获输入来控制截图功能?

javascript - 如何使用 nestfastify 编写来自 nestjs 异常过滤器的响应

swift - 在 Vapor 中使用原始 sql 返回条目总数

java - Intellij Idea : sbt refresh FetchError$Down

scala - 通过方法类型参数分配给类型成员的值打破了类型等价