我是创建wordpress插件的新手。我想创建一个插件,在wp-admin部分的设置选项下显示自定义页面选项,并保存输入数据的值并检索它,我已经完成了otto press的教程
我在文件夹中名为wp-content/plugin/
的{{1}}中创建了一个名为new-setting-plugin
的文件,因此整个文件路径为new-setting-plugin.php
文件new-setting-plugin.php的代码在表的末尾给出。创建代码后,我进入了wp-admin的插件页面并安装了插件,一切都很好。
现在,当我按“保存设置”按钮时,它会显示消息“设置已保存”,但我看不到输入字段中的值
我正在附加我的图片以预览它在我的插件页面中出现的内容
当进入插件页面时,我会看到以下输入字段:
现在我输入输入字段的值:
当我点击“保存设置”按钮后,我在页面刷新后收到以下消息
这是我的代码
wp-content/plugin/new-setting-plugin/new-setting-plugin.php
我的代码有什么问题,如何更正我的代码,是否有办法在表格的同一页面中显示字段外的输入字段的值?
答案 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;
}