将课程添加到ACF多选

时间:2015-07-13 14:35:25

标签: php wordpress select multi-select advanced-custom-fields

我遇到以下情况已经挣扎了两个小时,但我仍然没有找到解决方案。希望你们能帮助我。它是关于以下内容的:

我使用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;

非常感谢你的帮助!

1 个答案:

答案 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;
相关问题