Обзор
Функция get_sub_field возвращает вложенное поле для циклов повторителя и гибкого содержания. Эта функция используется только внутри цикла have_rows().
Параметры
<?php get_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();
$value = get_sub_field('sub_field');
endwhile;
endif;
?>
Базовое (Гибкое содержание)
Пример показывает, как перебрать поля Гибкого содержания и получить его вложенных полей.
<?php
if( have_rows('parent_field') ):
while( have_rows('parent_field') ) : the_row();
// получаем макет гибкого содержания
$layout = get_row_layout();
// макет 1
if( $layout === 'layout_1' ) {
$value = get_sub_field('sub_field_1');
// макет 2
} elseif( $layout === 'layout_2' ) {
$value = get_sub_field('sub_field_2');
}
endwhile;
endif;
?>
Вложенный цикл
Пример показывает, как перебрать вложенные поля Повторителя и получить значения его вложенных полей.
<?php
// родительский цикл
if( have_rows('parent_repeater') ):
while( have_rows('parent_repeater') ) : the_row();
// Переменные
$parent_title = get_sub_field('parent_title');
// родительский цикл
if( have_rows('child_repeater') ):
while( have_rows('child_repeater') ) : the_row();
// Переменные
$child_title = get_sub_field('child_title');
endwhile;
endif;
// конец дочерний цикл
endwhile;
endif;
// конец родительский цикл
?>
Похожие
- Функция: have_rows()
- Функция: the_sub_field()