保存并检索自定义插件选项输入

时间:2013-03-21 14:41:10

标签: wordpress-plugin wordpress

我是创建wordpress插件的新手。我想创建一个插件,在wp-admin部分的设置选项下显示自定义页面选项,并保存输入数据的值并检索它,我已经完成了otto press的教程

我在文件夹中名为wp-content/plugin/的{​​{1}}中创建了一个名为new-setting-plugin的文件,因此整个文件路径为new-setting-plugin.php

文件new-setting-plugin.php的代码在表的末尾给出。创建代码后,我进入了wp-admin的插件页面并安装了插件,一切都很好。

现在,当我按“保存设置”按钮时,它会显示消息“设置已保存”,但我看不到输入字段中的值

我正在附加我的图片以预览它在我的插件页面中出现的内容

当进入插件页面时,我会看到以下输入字段: New Setting Page

现在我输入输入字段的值: Entering the fields

当我点击“保存设置”按钮后,我在页面刷新后收到以下消息 Page after submit action

这是我的代码

wp-content/plugin/new-setting-plugin/new-setting-plugin.php

我的代码有什么问题,如何更正我的代码,是否有办法在表格的同一页面中显示字段外的输入字段的值?

3 个答案:

答案 0 :(得分:4)

你不会在那里看到它们。你必须get_options

对于您的代码,如果您执行var_export( get_option('plugin_options') );,则会看到这些已保存的设置/值。

答案 1 :(得分:0)

检查验证标准。

preg_match('/^[a-z0-9]{32}$/i', $options['text_string'])

在验证函数和测试中注释代码。

function plugin_options_validate($input) {
$options = get_option('plugin_options');
//$options['text_string'] = trim($input['text_string']);
//if(!preg_match('/^[a-z0-9]{32}$/i', $options['text_string'])) {
//$options['text_string'] = '';
//}
return $options;
}

答案 2 :(得分:0)

您必须更改输入的“名称”:

function manage_lists_cc_input1() {
    $options = get_option('manage_lists_cc_options');
    echo "<input id='manage_lists_cc_input1' class='normal-text code' name='manage_lists_cc_options[0]' size='30' type='text' value='{$options['text_string_0']}' />";
}

function manage_lists_cc_input2() {
    $options = get_option('manage_lists_cc_options');
    echo "<input id='manage_lists_cc_input2' class='normal-text code' name='manage_lists_cc_options[1]' size='30' type='text' value='{$options['text_string_1']}' />";

只需更改验证脚本即可获取值(这是一个简单的示例,无需验证):

function manage_lists_cc_options_validate($input) {
    $options['text_string_0'] = $input[0];
    $options['text_string_1'] = $input[1];
    return $options;
}