get_sub_field()

Обзор

Функция 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;
// конец родительский цикл

?>

Похожие