Ретранслятор Wordpress ветки в репитере
Я хотел бы попросить помощи относительно ретранслятора в репитере на Wordpress, используя Twig. Раздел "Службы" отображается правильно, но раздел "Функции" в разделе "Службы" не отображается.
Вот скриншот WordPF ACF. Нажми на меня
И прямо под ним код, который я сейчас использую. Пожалуйста, порекомендуйте. Спасибо!
{% extends "page.twig" %}
{% block additional %}
<div id="page-services">
<section id="services">
<div class="row small-up-1 large-up-1">
<div class="small-12 medium-11 large-9 columns small-centered">
<div class="services-grid animated fadeIn wow">
<p align="center">
{{post.services_desc}}
</p>
</div>
</div>
</div>
<div class="line centered"></div>
</div>
<center>
<div class="row">
<div class="small-12 medium-11 large-9 columns small-centered">
<div class="features-header animated fadeIn wow">
{% for item in post.get_field('services_ist') %}
<div class="column services">
<h2 class="capitalize bold">
{{item.services_title}}
</h2>
{% if item.services_subtitle %}
<h4 class="subtitle">
{{item.services_subtitle}}
</h4>
<div class="line thin"></div>
{% endif %}
{% if item.services_content %}
<div class="description">
{{item.services_content}}
<br><br>
</div>
{% endif %}
{% if feats.services_feat %}
{% for feats in post.get_field('services_feat') %}
<p>{{feats.feat_title}}</p>
{% endfor %}
{% if feats.feats_desc %}
<h4 class="feats description">
{{feats.feats_desc}}
</h4>
{% endif %}
{% endif %}
</div>
{% endfor %}
</center>
</div>
</div>
</div>
</section>
</div>
{% endblock %}
1 ответ
Как говорится в Руководстве по интеграции ACF, вы не должны использовать get_field()
снова при попытке доступа к вложенным полям повторителя:
Когда вы запускаете get_field для внешнего поля ACF, все внутри готово для прохождения. Вы можете ссылаться на вложенные поля через item_outer.inner_repeater
Поэтому вместо использования:
{% for feats in post.get_field('services_feat') %}
Вы должны использовать:
{% if feats.services_feat %}
{% for feats in feats.services_feat %}
<p>{{ feats.feat_title }}</p>
{% endfor %}
{# … #}
{% endif %}
Я никогда не делал ветки раньше, но быстрый поиск меня кое-что получил. Измените внутренний повторитель на это:
{% for feats in services_ist.get_field('services_feat') %}
<p>{{feats.feat_title}}</p>
{% endfor %}
Таким образом, второй повторитель знает, что это ребенок от первого повторителя, а не прямой ребенок на должность.