我没有一个插件可以直接告诉你,但我的一般建议是:将相关插件设置存储在单个选项中,作为一个数组。这里推理的关键是,您只需将项添加到一个自动设置关键帧的数组中,因此您可以随意添加或减去,而不必担心命名问题。
实际上,这意味着:
构建标记,使文本框具有name
共享数组的属性,例如
<input name="my_textboxes[]" />
<input name="my_textboxes[]" />
使用AJAX保存时,请确保发送整个
my_textboxes
阵列作为有效负载
然后,保存设置的回调就可以很简单了。由于每次保存时都会发送整个my\\u textboxes数组,因此只需将整个shebang保存到选项表中,即可覆盖以前的设置:
$my_textboxes = $_POST[\'my_textboxes\'];
update_option( \'my_plugin_textboxes\', $my_textboxes );
当然,您可能希望循环传递的值
$_POST[\'my_textboxes\']
并进行某种验证(检查重复项,诸如此类的东西)。
在页面加载上构建标记时,只需执行foreach循环:
$my_textboxes = get_option( \'my_plugin_textboxes\' );
foreach( $my_textboxes as $key => $tb ) {
echo \'<input type="text" name="my_textboxes[]" value="\' . esc_attr( $tb ) . \'" />\';
}