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

Wordpress Widget Multiple Checkboxes with checked() Function

我有一个可以在后端选择多个复选框的小部件。目前我的小部件的表单函数中有以下代码。

<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; ?>

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

谢谢。

已解决!!

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

<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 的帮助!!