Wordpress Widget多个复选框,带有checked()函数

时间:2017-09-15 08:42:27

标签: php wordpress widget checkboxlist checked

我有一个小部件,可以在后端选择多个复选框。目前,我在窗口小部件的表单功能中有以下代码。

<label for="<?php echo $this->get_field_id("types"); ?>">Types</label>
        <?php foreach ($types as $key => $val) : ?>
            <p>
                <input class="checkbox" id="<?php echo $this->get_field_id("types") . $key; ?>" name="<?php echo $this->get_field_name("types"); ?>[]" type="checkbox" value="<?php echo $key; ?>" <?php checked("1", array_key_exists($key, $instance["types"])); ?> />
                <label for="<?php echo $this->get_field_id("types") . $key; ?>"><?php echo $val; ?></label>
            </p>
        <?php endforeach; ?>

正确保存值,但不会显示检查值。有人可以帮我弄这个吗。我不确定在这种情况下应该如何使用checked()函数

谢谢。

1 个答案:

答案 0 :(得分:0)

<强>解决!!

在给定的代码中,我只需要设置如下,

<input class="checkbox" id="<?php echo $this->get_field_id("types") . $key; ?>" name="<?php echo $this->get_field_name("types"); ?>[]" type="checkbox" value="<?php echo $key; ?>" <?php checked(in_array($key, $instance["types"])); ?> />

而不是关注

<input class="checkbox" id="<?php echo $this->get_field_id("types") . $key; ?>" name="<?php echo $this->get_field_name("types"); ?>[]" type="checkbox" value="<?php echo $key; ?>" <?php checked("1", array_key_exists($key, $instance["types"])); ?> />

感谢@Mittul的帮助!!