Как вывести поля acf Repeater внутри другого acf Repeater?
Есть два разных повторителя и нужно одно поля из одного повторителя вывести в другой - такое возможно сделать?
Или есть вариант записать поле из повторителя - и выводить его в другом повторители.
Дополнительно:
Ответы:
Здравствуйте, репитер внутри репитера — вполне стандартная история. Если у вас два несвязанных репитера, то тоже можно, но тут надо понять какую задачу решаете.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Repeater внутри Repeater в ACF — нормальная и поддерживаемая схема. Если у вас один повторитель должен содержать группы, а внутри каждой группы ещё элементы, создайте вложенный repeater прямо внутри первого. Тогда вывод строится вложенными циклами
have_rows().Пример структуры:
sections— Repeater;section_title— Text;items— Repeater;items:item_title,item_text.Вывод:
if (have_rows('sections')) { while (have_rows('sections')) { the_row(); echo '<section>'; echo '<h2>' . esc_html(get_sub_field('section_title')) . '</h2>'; if (have_rows('items')) { echo '<div class="items">'; while (have_rows('items')) { the_row(); echo '<article>'; echo '<h3>' . esc_html(get_sub_field('item_title')) . '</h3>'; echo wp_kses_post(get_sub_field('item_text')); echo '</article>'; } echo '</div>'; } echo '</section>'; } }
Если же у вас два независимых повторителя, и нужно «поле из одного выводить в другом», сначала подумайте о структуре данных. Часто это признак, что данные нужно связать через Post Object, Relationship, Taxonomy или Select, а не копировать между повторителями.
Копирование значения из одного repeater в другой обычно плохая идея: данные начнут расходиться. Лучше хранить общие элементы в одном месте, а во втором блоке выбирать их по ID/ключу. Если это просто визуальная группировка, вложенный repeater будет самым понятным решением.