添加 class 到 ACF 多 select
Add class to ACF multi select
下面的情况我折腾了两个小时,还是没有找到解决办法。希望你们能帮助我。这是关于以下内容:
我使用 ACF 从多 select 菜单中制作 selection。我想显示所有选项,并且想在 selected 值中添加 class。
到目前为止,您会在下面找到我的代码。这会输出所有的选择。但是我不知道如何检查选择是否已经 selected 或没有。
$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;
非常感谢您的帮助!
您可以检查当前$choice的key是否作为$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;
下面的情况我折腾了两个小时,还是没有找到解决办法。希望你们能帮助我。这是关于以下内容:
我使用 ACF 从多 select 菜单中制作 selection。我想显示所有选项,并且想在 selected 值中添加 class。
到目前为止,您会在下面找到我的代码。这会输出所有的选择。但是我不知道如何检查选择是否已经 selected 或没有。
$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;
非常感谢您的帮助!
您可以检查当前$choice的key是否作为$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;