【发布时间】:2010-08-24 14:21:44
【问题描述】:
我正在使用 Wordpress 设置 API 为处理图像和链接的插件创建选项页面。我可以注册 3 个 add_settings_field 调用并添加 3 个图像和网站链接。有谁知道动态让用户动态添加新字段(add_settings_field)的方法。例如,如果它从 1 个字段开始,但他们需要第二个字段来制作另一张图片。
【问题讨论】:
我正在使用 Wordpress 设置 API 为处理图像和链接的插件创建选项页面。我可以注册 3 个 add_settings_field 调用并添加 3 个图像和网站链接。有谁知道动态让用户动态添加新字段(add_settings_field)的方法。例如,如果它从 1 个字段开始,但他们需要第二个字段来制作另一张图片。
【问题讨论】:
您可以添加一个按钮并让您的管理页面处理程序(例如 add_options_page 的最后一个参数)处理 GET 参数,以便它调用 add_settings_field,也许?
【讨论】:
要使以下内容起作用,您需要为数据设置一个 add_settings_field。 add_settings_field 的回调函数中的 html 表单元素需要是一个数组。
例子:
<input type="text" name="field[0]" id="textfield_0" />
<input type="text" name="field[1]" id="textfield_1" />
如果您设计这样的表单,WordPress 会将序列化的数据存储在一个选项字段中,从而减少数据库请求,您可以稍后将更多数据添加到其中。
然后你使用例如jQuery 或 JavaScript 以及用于向选项页面添加更多字段的按钮。
附加字段也将是一个数组,编号从前一个表单字段结束的地方开始。看看前面的代码截图,你会开始:
<input type="text" name="field[2]" id="textfield_2" />
<input type="text" name="field[3]" id="textfield_3" />
如果你把东西很好地放在一起,你的基本表单就会在 add_settings_field 的回调函数中创建。使用 jQuery 或 Ajax 添加其他字段。
现在您可能想要编辑字段,在这种情况下,表单应该显示所有以前存储的值并填写文本字段。
您可以通过将带有存储值的属性发送到 add_settings_field 来实现。看看我是如何在Wordpress settings API and serialising data自己解决这个问题的@
【讨论】: