如何从Wordpress帖子中检索复选框状态

时间:2018-01-12 14:59:29

标签: php wordpress

我在Wordpress帖子中有以下字段:

enter image description here

我试图通过这个来看看var_dump的样子:

$get_t = get_field('field1');
var_dump($get_t);

如果帖子中的复选框尚未更改,我会收到以下信息:

bool(false)

如果选中帖子中的复选框,我会收到以下信息:

array(1) { [0]=> string(1) "1" }

然后,如果未选中帖子中的复选框,我会收到以下内容:

string(0) ""

如何使用$get_t执行以下操作:

if (checkbox is not checked) { //bool(false) -OR- string(0) ""
    //do this
}
else { //array(1) { [0]=> string(1) "1" }
    //do this
}

我正在执行以下操作以获取值和错误:

$get_t = get_field('field1');
$close_val = "";
if ($get_t != false || count($get_t) !== 0) { //checked
    var_dump($get_t);
    foreach ($get_t as $key => $value) {
        $close_val = $value;
    }
}
else { //unchecked
    // do this
}

如果选中,它可以正常工作,但如果没有选中或从未修改过,我会收到警告:

Warning: Invalid argument supplied for foreach() in /var/www/files.php on line 80

第80行是foreach行。

3 个答案:

答案 0 :(得分:2)

您可以先查看是否true,然后检查字符串

if ($get_t == false || count($get_t) === 0) {
    //do this
} else {
    // do this
}

答案 1 :(得分:1)

您可以检查它是否是一个数组,这意味着用户已经选中了复选框

if (is_array($get_t) && !$get_t){
  // is checked
}

答案 2 :(得分:1)

只需更改条件表格!=到==

if ($get_t == false || count($get_t) == 0) {
   //unchecked
}
else {
   //checked       
}