插件选项不会保存在数据库中

时间:2012-08-11 作者:Allen

我不确定这里发生了什么,因为这在我创建的另一个插件中起到了作用。我只是想在选项表中存储数据。下面是我使用的代码:

function on_myplugin_start () {         
register_setting(\'first_tab_options\', \'first_tab_items\');
}

add_action(\'admin_init\',\'on_myplugin_start\');
以下是提交的表单:

<form action="options.php" method="post" >
<?php
 settings_fields( \'first_tab_options\' );
 ?>
<input type="text" name="some_name" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>
就是这样。。当我看源代码时,一切看起来都很好。。。设置API放入了所有隐藏字段。。但是,当我输入一个值并点击submit(它表示已成功保存)时,成功创建的数据库字段中没有任何内容(first\\u tab\\u items)。

如果能在这方面提供帮助,我将不胜感激。。。。谢谢

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

。。。因为您的输入(帖子)名称需要与register_setting 电话:

register_setting( \'first_tab_options\', \'first_tab_items\' );
....
<input type="text" name="first_tab_items"...
否则WP怎么会知道some_name 在POST中保存您的选项数据?;)

SO网友:Ynhockey

添加到HeadMedic的答案中:如果您想像您暗示的那样为整个表单注册一个设置,可以使用数组:

<form action="options.php" method="post" >
<?php
    settings_fields( \'first_tab_options\' );
?>
<input type="text" name="first_tab_items[some_name]" value="">
<input type="text" name="first_tab_items[some_name2]" value="">
<input type="submit" value="Save Settings" name="submit" class="button-primary">
</form>
并注册:

register_setting(\'first_tab_options\', \'first_tab_items\');

结束

相关推荐

使用wp_options表通过wpdb更新主题选项是否存在风险

我正在制作一个主题,它有很多选项需要通过jquery的ajax进行更新。在研究了通过ajax更新wp\\u选项的方法之后,我假设更新wp\\u选项表对我来说是一种简单的方法。如果以这种方式更新选项,是否存在风险?还是采用api方式更安全?。