列出 ACF 中组字段类型的所有标签和值
list all the label and value from a group field type in ACF
我真的需要一些帮助,我的问题是我无法使用 ACF 显示组字段中的标签
下面的脚本正在显示名称和值,我需要显示 "Label" 及其 "value",但我找不到任何东西。
if( have_rows('product_specifications') ):
while( have_rows('product_specifications') ): the_row();
$subfields = get_field('product_specifications');
if( $subfields ) { ?>
<ul>
<?php
foreach ($subfields as $spec => $value) {
if ( !empty($value) ) { ?>
<li><?php echo $spec; ?> : <?php echo $value; ?></li>
<?php }
} ?>
</ul>
<?php }
endwhile;
endif;
这是我当前的输出:
lamp_type : E27
wattage : 1x 60W Max
globe_included : 1
colour_cord : Clear
什么时候应该是:
Lamp Type : E27
Wattage : 1x 60W Max
Globe : 1
Colour Cord : Clear
请任何人帮助我...
您在 foreach
循环中期待的是使用 get_field_object()
函数。
在这里,您可以获取任意字段的标签和值。
有关 get_field_object()
的示例/用途,请查看 https://www.advancedcustomfields.com/resources/get_field_object/。
因此,例如,您将拥有:
$field = get_field_object($spec);
echo $field['label'] . ': ' . $field['value'];
希望对您有所帮助。
使用get_row()
获取子字段:
$subfields = get_row();
并使用get_sub_field_object()
获取子字段object:
$field = get_sub_field_object( $key );
所以,试试这个:(没有重新缩进,以便您可以轻松地与您的代码进行比较)
if( have_rows('product_specifications') ):
while( have_rows('product_specifications') ): the_row();
if( $subfields = get_row() ) { ?>
<ul>
<?php
foreach ($subfields as $key => $value) {
if ( !empty($value) ) { $field = get_sub_field_object( $key ); ?>
<li><?php echo $field['label']; ?> : <?php echo $value; ?></li>
<?php }
} ?>
</ul>
<?php }
endwhile;
endif;
我真的需要一些帮助,我的问题是我无法使用 ACF 显示组字段中的标签
下面的脚本正在显示名称和值,我需要显示 "Label" 及其 "value",但我找不到任何东西。
if( have_rows('product_specifications') ):
while( have_rows('product_specifications') ): the_row();
$subfields = get_field('product_specifications');
if( $subfields ) { ?>
<ul>
<?php
foreach ($subfields as $spec => $value) {
if ( !empty($value) ) { ?>
<li><?php echo $spec; ?> : <?php echo $value; ?></li>
<?php }
} ?>
</ul>
<?php }
endwhile;
endif;
这是我当前的输出:
lamp_type : E27
wattage : 1x 60W Max
globe_included : 1
colour_cord : Clear
什么时候应该是:
Lamp Type : E27
Wattage : 1x 60W Max
Globe : 1
Colour Cord : Clear
请任何人帮助我...
您在 foreach
循环中期待的是使用 get_field_object()
函数。
在这里,您可以获取任意字段的标签和值。
有关 get_field_object()
的示例/用途,请查看 https://www.advancedcustomfields.com/resources/get_field_object/。
因此,例如,您将拥有:
$field = get_field_object($spec);
echo $field['label'] . ': ' . $field['value'];
希望对您有所帮助。
使用get_row()
获取子字段:
$subfields = get_row();
并使用get_sub_field_object()
获取子字段object:
$field = get_sub_field_object( $key );
所以,试试这个:(没有重新缩进,以便您可以轻松地与您的代码进行比较)
if( have_rows('product_specifications') ):
while( have_rows('product_specifications') ): the_row();
if( $subfields = get_row() ) { ?>
<ul>
<?php
foreach ($subfields as $key => $value) {
if ( !empty($value) ) { $field = get_sub_field_object( $key ); ?>
<li><?php echo $field['label']; ?> : <?php echo $value; ?></li>
<?php }
} ?>
</ul>
<?php }
endwhile;
endif;