我创建了一个小部件,我需要允许用户从一系列选项中进行选择。选项是来自数据库中另一个表的书籍。
我正在尝试使用这样的代码:
<input type="text" name="<?PHP $this->get_field_name("books[]"); ?>">
然而,在尝试保存时失败了。甚至可以传递这样的选项数组并保存它们吗?如果没有,那将是另一种解决方案。我可以传递这样的值:
book1
book2
book3
如果我这样做,我必须在更新方法中有一个循环遍历数据库中的所有书籍,以确定检查什么和不检查什么?我愿意接受建议。
答案 0 :(得分:2)
我会做这样的事情:
首先,存储选项并将它们选为数组:
$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 :(得分:1)
刚刚遇到同样的问题。我通过在我的get_field_name调用之外附加我的名称标记的数组部分来解决它:
name="<?php echo $this->get_field_name( 'breakpoints' ); ?>[]"