Как я могу сохранить массив флажков в виджете WordPress? - PullRequest
2 голосов
/ 16 марта 2011

Я создал виджет, и мне нужно разрешить пользователю выбирать из ряда вариантов.Опции - это книги из другой таблицы в базе данных.

Я пытаюсь использовать код, подобный следующему:

<input type="text" name="<?PHP $this->get_field_name("books[]"); ?>">

Однако это не удается при попытке сохранить.Можно ли передать такой набор параметров и сохранить их?Если нет, то каким было бы альтернативное решение.Я мог бы передать значения следующим образом:

book1
book2
book3

Если я сделаю это, мне потребуется цикл в методе обновления, чтобы просмотреть все книги в базе данных, чтобы определить, что проверено, а что нет?Я открыт для предложений.

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Я бы сделал что-то вроде этого:

Сначала сохраните параметры и выберите их в виде массива:

$options = get_option("pluginName_books");

update_option("pluginName_books",$_REQUEST['books']);

Используйте это как поле в вашей форме:

<input type="text" name="books[]" value="the_value">

или сделать это как флажок:

<input type="checkbox" name="<?PHP $this->get_field_name("books[]"); ?>">
1 голос
/ 24 февраля 2015

Просто была такая же проблема. Я решил это, прикрепив часть массива моего тега name вне моего вызова get_field_name:

name="<?php echo $this->get_field_name( 'breakpoints' ); ?>[]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...