我遇到以下情况已经挣扎了两个小时,但我仍然没有找到解决方案。希望你们能帮助我。它是关于以下内容的:
我使用ACF从多选菜单中进行选择。我想显示所有选项,我想为所选值添加一个类。
到目前为止,您将找到我的代码。这会输出所有选项。但我不知道如何检查选择是否已被选中。
$features = get_field_object('features');
$choices = $features['choices'];
$values = $features['value'];
if ( $features ):
echo '<ul class="checks">';
foreach ( $choices as $choice) {
echo '<li>'. $choice .'</li>';
}
echo '</ul>';
endif;
非常感谢你的帮助!
答案 0 :(得分:3)
您可以检查当前$ choice的键是否为$ values数组中的值。
如果你var_dump $ features数组,你会看到$ values数组包含值的键,$ choices数组包含它们。
var_dump示例:
$features['value'] => Array
(
[0] => color1
)
$features['choices'] => Array
(
[color1] => red
[color2] => yellow
[color3] => green
)
<强>代码:强>
$features = get_field_object('features');
$choices = $features['choices'];
$values = $features['value'];
if ( $features ):
echo '<ul class="checks">';
foreach ( $choices as $key => $choice) {
$class = in_array($key, $values) ? 'class="selected"' : '';
echo '<li ' . $class . '>'. $choice .'</li>';
}
echo '</ul>';
endif;