2020-06-28 / 1575阅 / 悠然
从“重复器”或“组”字段循环中返回特定子字段值的值。
get_sub_field( $selector, [$format_value] );
$selector
(字符串) (必需) 子字段名称或字段关键字。$format_value
(布尔) (可选) 是否应用格式化逻辑。默认为true。(混合)子字段值。
本示例说明如何循环通过Repeater字段并加载子字段值。
if( have_rows('parent_field') ):
while ( have_rows('parent_field') ) : the_row();
$sub_value = get_sub_field('sub_field');
// Do something...
endwhile;
else :
// no rows found
endif;
本示例说明如何循环浏览“组”字段并加载子字段值。
if( have_rows('parent_field') ):
while( have_rows('parent_field') ): the_row();
// Layout 1.
if( get_row_layout() == 'layout_1' ):
// Layout 1 value.
$value = get_sub_field('sub_field_1');
// Layout 2.
elseif( get_row_layout() == 'layout_2' ):
// Layout 2 value.
$value = get_sub_field('sub_field_2');
endif;
endwhile;
endif;
本示例说明如何遍历嵌套的重复器字段并加载子字段值。
/**
* Field Structure:
*
* - parent_repeater (Repeater)
* - parent_title (Text)
* - child_repeater (Repeater)
* - child_title (Text)
*/
if( have_rows('parent_repeater') ):
while( have_rows('parent_repeater') ) : the_row();
// Get parent value.
$parent_title = get_sub_field('parent_title');
// Loop over sub repeater rows.
if( have_rows('child_repeater') ):
while( have_rows('child_repeater') ) : the_row();
// Get sub value.
$child_title = get_sub_field('child_title');
endwhile;
endif;
endwhile;
endif;