WordPress Widget несколько флажков с функцией 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; ?>

Значения сохраняются правильно, но проверенные значения не отображаются взамен. Может кто-то помочь мне с этим. Я не уверен, как функция check () должна использоваться в этом контексте

Благодарю вас.

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 за помощь!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector