Repeater в ACF PRO нужен для повторяющихся групп однотипных полей: FAQ, этапов работы, карточек команды. Например, вместо пяти отдельных пар полей «вопрос–ответ» редактор добавляет столько строк, сколько нужно.
Настройка
- Убедитесь, что у вас доступен тип поля Repeater в установленной редакции ACF.
- Создайте группу полей и Repeater
faq_items. - Добавьте дочерние поля
questionиanswerтипа Text/Text Area. - Задайте разумный максимум строк, если количество должно быть ограничено.
- Заполните 2–3 строки в редакторе тестовой записи.
Вывод в шаблоне
<?php
if ( function_exists( 'have_rows' ) && have_rows( 'faq_items' ) ) {
echo '<dl class="faq-list">';
while ( have_rows( 'faq_items' ) ) {
the_row();
$question = get_sub_field( 'question' );
$answer = get_sub_field( 'answer' );
if ( ! is_string( $question ) || $question === '' ) {
continue;
}
echo '<dt>' . esc_html( $question ) . '</dt>';
echo '<dd>' . esc_html( is_string( $answer ) ? $answer : '' ) . '</dd>';
}
echo '</dl>';
}
Здесь намеренно используются текстовые поля. Если ответ должен включать ссылки и абзацы, используйте WYSIWYG с явным разрешением нужного HTML через wp_kses_post().
Когда Repeater — плохой выбор
Если записи должны иметь собственные URL, SEO-заголовки, права редактирования и фильтры, лучше завести CPT. Для большого каталога товаров, филиалов или событий Repeater неудобен: строки не ведут себя как самостоятельные объекты WordPress.
Производительность
В крупных Repeater-полях админка может тормозить. В ACF есть настройки количества строк и пагинации в редакторе, но пагинация полей не означает автоматическую пагинацию вывода на сайте. Объём данных в шаблоне нужно контролировать отдельно.
Приёмка
- Пустой Repeater не создаёт пустой список.
- Вопросы и ответы отображаются в исходном порядке.
- HTML не выводится без проверки контекста.
- Превышение допустимого объёма не ломает редактор.
- После отключения ACF шаблон не вызывает fatal error.
Перед запуском убедитесь, что контентная модель не станет причиной SEO-дублей или бесконечно растущей записи.
Источник: https://www.advancedcustomfields.com/resources/repeater/
Материал был полезен?
Помогите нам сделать материалы точнее и понятнее.