the_repeater_field()

Эта функция устарела с  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