我有一个中继器字段,其中有一个无线电字段。我需要输出标签和值。
在ACF字段中,我输入值:标签,例如:
红色:红地毯
绿色:绿叶
我尝试了一段代码:
$field = get_sub_field_object(‘field_name’);
$value = get_sub_field(‘field_name’);
$label = $field[‘choices’][ $value ];
我尝试用 field_id 替换字段名,但它返回“Array”而不是值。
我需要使用类中的值和标题中的标签。你能帮我吗?
get_sub_field_object() 必须在 has_sub_field() 循环中使用,如下所示:
<?php while( has_sub_field('repeater_fields_name') ): ?>
<?php
// vars
$select = get_sub_field_object('radio_field_from_your_code');
$value = get_sub_field('radio_field_from_your_code');
?>
<ul>
<?php foreach( $select['choices'] as $k => $v ): ?>
<li>
<?php if( $k == $value ): ?>
<span class="selected">Selected!</span>
<?php endif; ?>
<?php echo $v; ?>
</li>
<?php endforeach; ?>
</ul>
<?php endwhile; ?>
您可能即将获得正确的值。只需调整一些东西以遵循这个一般模式即可。有关此功能的更多信息可以在 ACF 的文档网站上找到:https://www.advancedcustomfields.com/resources/get_sub_field_object/