我使用高级自定义字段和附加转发器在管理中创建一个字段,用户可以通过该字段选择多个图标。每个图标都有一个关联的标签,我试图在foreach
环这是我的代码:
<?php
// icons
foreach (get_sub_field(\'nav_widget_platforms\') as $label => $value) {
echo \'<div class="mps-nav-context"><i class="icon-\'.$value.\'" title="\'.$label.\'"></i><span>\'.$label.\'</span></div>\';
}
?>
例如,如果复选框
cloud : eCommerce
选择时
$value
应该是
cloud
, 以及
$label
应该是
eCommerce
.
问题是$label
正在返回数字,而不是标签,以便页面显示0
, 1
, 等等,这取决于它在阵列中的顺序。
我不知道我在这里做错了什么,也不知道如何排除故障。
最合适的回答,由SO网友:TheDeadMedic 整理而成
ACF实际上正在做它应该做的事情——存储选定值的数字数组。如果你想要这个标签,你可以征税get_field_object
, 它返回有关自定义字段的信息(而不是给定帖子的值)。
$field_obj = get_field_object( \'nav_widget_platforms\' );
$platforms = get_field( \'nav_widget_platforms\' );
foreach ( $platforms as $platform ){
echo $field_obj[\'choices\'][ $platform ] . ": $platform<br />";
}
https://wordpress.stackexchange.com/a/90406/1685