首页 > 解决方案 > Wordpress ACF if 语句

问题描述

我使用了高级自定义字段 (ACF) 复选框选项。一个选项是“红色”,第二个是“蓝色”。我想创建一个条件来检查用户选择了什么颜色。这是我的代码:

 <?php 
 $val = get_field( 'checkbox' );
   if ( $val=='red' ) {
    echo ' value is red';
    } else {
    echo 'value is not red';
    }
 ?>

如果用户选中红色选项,此代码应输出“值为红色”,但它不起作用。谁知道可能是什么问题?下面附上资产。在此处输入图像描述在此处输入图像描述

标签: wordpressadvanced-custom-fields

解决方案


使用您当前的配置,ACF 将返回一个数组,这就是它当前不工作的原因。您将需要检查是否red在数组中

<?php
    $val = get_field( 'checkbox' );
    if (in_array('red', $val)) {
        echo ' value is red';
    } else {
        echo 'value is not red';
    }
?>

话虽如此,如果这是您的实际用例,我建议改为使用真/假字段。使用当前配置,用户可以选择blue以及red它仍然会返回value is red到前端。


推荐阅读