Error when renaming option

时间:2014-07-29 作者:L. Becker

UPDATE: 此错误来自WP\\U调试。。。当然,embedded\\u url还不存在。然而,当我使用表单设置$options[embedded\\u url]的值时,$options数组神奇地添加了embedded\\u url的新值,并以某种方式记住了text\\u string的旧值。我添加了

unset($options[\'text_string\']);
但只要我按下保存设置按钮,它就会再次回到$选项中。text\\u字符串在我的代码中不再存在。它完全消失了。这个text\\u字符串幽灵在哪里?!

我跟踪了this tutorial 几乎是逐字逐句地为我创建的插件创建自定义管理/设置页面。我试图更改选项名称text_string 其他方面——embedded_url. 我已启用WP\\U调试。当我加载插件的设置页面时,文本输入字段正上方出现以下错误:

注意:未定义索引:embedded\\u url in…。

然后指向此函数的回音线:

function plugin_setting_url() {
$options = get_option(\'plugin_options\');
echo "<input id=\'plugin_url\' name=\'plugin_options[embedded_url]\' size=\'40\' type=\'text\' value=\'{$options[\'embedded_url\']}\' />";
}
因为这是唯一一个text_string 出现在教程中的验证方法之外,我不明白为什么embedded_url 定义方式与text_string 是我做错了什么?

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

我认为使用get\\u选项时需要设置默认值

函数plugin\\u setting\\u url(){$options=get\\u option(\'plugin\\u options\',array(\'embedded\\u url\'=>\'\');echo“”;}

除非plugin\\u选项已经存在,否则您需要使用wp\\u parse\\u args来合并两个数组。

函数plugin\\u setting\\u url(){$options=wp\\u parse\\u args(get\\u option(\'plugin\\u options\',array()),array(\'embedded\\u url=>“”));echo“”;}

结束

相关推荐

将数组保存到GET_OPTIONS

我正在试图保存一个数组以在wordpress中获取\\u选项,我知道我不必因为获取选项而序列化数组。目前,点击提交按钮后,我没有收到任何失败消息的成功消息。是否使用get\\u选项和update\\u选项将输入数据正确添加到数据库中。如果没有,我的代码如何调整才能实现这一点。添加操作(“admin\\u菜单”、“dw\\u quotes\\u create\\u菜单”);function dw_quotes_create_menu() { //create custom top-level