Обзор
Функция the_sub_field отображает вложенное поле для циклов повторителя и гибкого содержания. Эта функция используется только внутри цикла have_rows().
Это тоже самое, что echo get_sub_field(‘name’);.
Параметры
<?php the_sub_field($sub_field_name, $format_value); ?>
- $sub_field_name (строка) (обязательное) Имя поля, которое необходимо вывести.
- $format_value (логический) (необязательное) Возвращать форматированные данные или нет. По умолчанию true.
Использование
Базовое (Повторитель)
Пример показывает, как перебрать поля Повторителя и вывести значения его вложенных полей.
<?php
if( have_rows('parent_field') ):
while( have_rows('parent_field') ) : the_row();
?>
<p><?php the_sub_field('sub_field'); ?></p>
<?php
endwhile;
endif;
?>
Базовое (Гибкое содержание)
Пример показывает, как перебрать поля Гибкого содержания и вывести значения его вложенных полей.
<?php
if( have_rows('parent_field') ):
while( have_rows('parent_field') ) : the_row();
// получаем макет гибкого содержания
$layout = get_row_layout();
// макет 1
if( $layout === 'layout_1' ): ?>
<div class="layout-1">
<p><?php the_sub_field('sub_field_1'); ?></p>
</div>
<?php // макет 1
elseif( $layout === 'layout_2' ): ?>
<div class="layout-2">
<p><?php the_sub_field('sub_field_2'); ?></p>
</div>
<?php endif;
endwhile;
endif;
?>
Вложенный цикл
Пример показывает, как перебрать вложенные поля Повторителя и вывести значения его вложенных полей.
<?php
// родительский цикл
if( have_rows('parent_repeater') ):
while( have_rows('parent_repeater') ) : the_row();
?>
<div class="row">
<h3><?php the_sub_field('parent_title'); ?></h3>
<?php
// дочерний цикл
if( have_rows('child_repeater') ): ?>
<ul>
<?php while( have_rows('child_repeater') ) : the_row(); ?>
<li><b><?php the_sub_field('child_title'); ?></b> <?php the_sub_field('child_value'); ?></li>
<?php endwhile; ?>
</ul>
<?php endif;
// конец дочерний цикл
?>
</div>
<?php
endwhile;
endif;
// конец родительский цикл
?>
Похожие
- Функция: have_rows()
- Функция: get_sub_field()