需要添加/删除选项组并将其显示为行

时间:2012-04-17 作者:kyxrus

我正在创建一个插件,其中有5个选项文本框。我需要做的是将这5个选项视为一个项目,并能够添加更多项目。

我一直在为我的wordpress插件使用静态硬编码选项,所以我不知道如何做到这一点,但我会尽力解释我自己。

我希望有一个类似于posts表的表,然后我希望能够添加/删除行。每行将是一个包含5个选项的“项”。

Does someone knows a plugin that works similar to this so I can check it out? (if it also uses ajax that would be awesome)

我的主要问题是我不知道如何保存/检索多行,因为我总是在代码上硬编码我的选项名称。

1 个回复
最合适的回答,由SO网友:Boone Gorges 整理而成

我没有一个插件可以直接告诉你,但我的一般建议是:将相关插件设置存储在单个选项中,作为一个数组。这里推理的关键是,您只需将项添加到一个自动设置关键帧的数组中,因此您可以随意添加或减去,而不必担心命名问题。

实际上,这意味着:

构建标记,使文本框具有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 ) . \'" />\';
}

结束

相关推荐

Making post views as sortable

我正在wordpress管理帖子页面上使用自定义字段,添加以下代码,然后尝试根据帖子视图对帖子进行排序,但排序不起作用。下面是我在函数中添加的代码。php:add_filter(\'manage_posts_columns\', \'posts_column_views\'); add_action(\'manage_posts_custom_column\', \'posts_custom_column_views\',5,2); function posts_column_views(