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 %}
我有一个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 %}