Описание
Выводит значение определённого дочернего поля в цикле поля Repeater или Flexible Content.
По сути, эта функция аналогична echo get_sub_field().
Параметры
the_sub_field( $selector, [$format_value] );$selector(string) (Обязательный) Имя дочернего поля или ключ поля.$format_value(bool) (Необязательный) Применять ли форматирование. По умолчанию — true.
Примеры
Вывод значения из поля Repeater.
В этом примере показано, как выполнить цикл по полю Repeater и вывести значение дочернего поля.
<?php if( have_rows('todo') ): ?>
<ul>
<?php while ( have_rows('todo') ) : the_row(); ?>
<li><?php the_sub_field('item'); ?></li>
<?php endwhile; ?>
</ul>
<?php else : ?>
<p>Задачи не найдены.</p>
<?php endif; ?>Вывод значения из поля Flexible Content.
В этом примере показано, как выполнить цикл по полю Flexible Content и сгенерировать HTML-код для разных макетов.
<?php if( have_rows('content') ): ?>
<?php while( have_rows('content') ): the_row(); ?>
<?php if( get_row_layout() == 'paragraph' ): ?>
<?php the_sub_field('paragraph'); ?>
<?php elseif( get_row_layout() == 'quote' ): ?>
<blockquote>
<p><?php the_sub_field('quote'); ?></p>
<footer>—<?php the_sub_field('author'); ?></footer>
</blockquote>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>Вложенные циклы
В этом примере показано, как выполнить цикл по вложенному полю Repeater и вывести значения дочерних полей.
<?php
/**
* Структура полей:
*
* - locations (Repeater)
* - title (Text)
* - description (Textarea)
* - staff_members (Repeater)
* - image (Image)
* - name (Text)
*/
if( have_rows('locations') ): ?>
<div class="locations">
<?php while( have_rows('locations') ): the_row(); ?>
<div class="location">
<h3><?php the_sub_field('title'); ?></h3>
<p><?php the_sub_field('description'); ?></p>
<?php if( have_rows('staff_members') ): ?>
<ul class="staff-members">
<?php while( have_rows('staff_members') ): the_row();
$image = get_sub_field('image');
?>
<li>
<?php echo wp_get_attachment_image( $image['ID'], 'full' ); ?>
<h4><?php the_sub_field('name'); ?></h4>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
</div>
<?php endwhile; ?>
</div>
<?php endif; ?>Обновлено: 30.09.2026