Ретранслятор Wordpress ветки в репитере - PullRequest
0 голосов
/ 14 ноября 2018

Я хотел бы попросить помощи относительно ретранслятора в репитере на Wordpress, используя Twig. Раздел «Службы» отображается правильно, но раздел «Функции» в разделе «Службы» не отображается.

Вот снимок экрана Wordpress ACF. Click Me

И прямо под ним код, который я сейчас использую. Пожалуйста, порекомендуйте. Спасибо!

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

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Как сказано в Руководстве по интеграции 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 %}
0 голосов
/ 15 ноября 2018

Я никогда раньше не делал ветки, но быстрый поиск меня кое-что получил. Измените внутренний повторитель на это:

  {% for feats in services_ist.get_field('services_feat') %}
    <p>{{feats.feat_title}}</p>
  {% endfor %}

Таким образом, второй повторитель знает, что это ребенок от первого повторителя, а не прямой потомок к должности.

...