Эта функция устарела с v3.3.4. Пожалуйста, используйте have_rows() вместо нее.
Описание
the_repeater_field() используется в цикле «while» для перебора каждой итерации поля повторителя. Для работы этой функции требуется поле повторителя.
Эта функция возвращает либо: текущую строку (цикл продолжается), либо false (конец цикла).
Внутри цикла «while» вы можете использовать следующие функции:
Параметры
<?php the_repeater_field($field_name, $post_id); ?>
- $field_name (строка) (обязательный) Имя поля «Повторителя».
- $post_id (строка) ID поста за которым закреплено поле. По умолчанию текущий пост.
Использование
<?php
/*
* Перебор повторителя
*/
if(get_field('gallery_images')): ?>
<?php while(the_repeater_field('gallery_images')): ?>
<img src="<?php the_sub_field('image'); ?>" alt="<?php the_sub_field('alt'); ?>" />
<?php endwhile; ?>
<?php endif;
/*
* Перебор повторителя для конкретного поста
* - Помните, что для the_sub_field и get_sub_field не нужен 2 параметр
*/
$post_id = 123;
if( get_field('repeater_field_name', $post_id) )
{
echo '<ul>';
while( the_repeater_field('repeater_field_name', 5) )
{
echo '<li>sub_field_1 = ' . get_sub_field('sub_field_1') . ', sub_field_2 = ' . get_sub_field('sub_field_2') .', etc</li>';
}
echo '</ul>';
}
/*
* Возможные варианты $post_id
*/
$post_id = null; // текущий пост
$post_id = 1;
$post_id = "option";
$post_id = "options"; // тоже, что и выше
$post_id = "category_2"; // конкретная рубрика
$post_id = "event_3"; // конкретная таксономия (в примере, называется "event")
$post_id = "user_1"; // пользователь (id пользователя = 1)
?>
История изменений
- Устарело в v3.3.4. Пожалуйста, используйте have_rows() вместо нее.
- Добавлено в v2.0.3