gpt4 book ai didi

wordpress - 保存和检索自定义插件选项输入

转载 作者:行者123 更新时间:2023-12-05 03:15:29 25 4
gpt4 key购买 nike

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

我在wp-content/plugin/ 中创建了一个名为new-setting-plugin 的文件夹,文件夹内有一个名为new-setting-plugin.xml 的文件。 php 所以整个文件路径是 wp-content/plugin/new-setting-plugin/new-setting-plugin.php

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

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

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

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

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

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

这是我的代码

<?php

add_action('admin_menu', 'add_page');

if ( !function_exists( 'add_page' ) ) {

//function to add page under setting options in wordpress admin section
function add_page() {
add_options_page('New Setting Page', 'New Setting', 'manage_options', 'plugin', 'plugin_options_frontpage');

}

}

function plugin_options_frontpage() {

?>

<div class="wrap">
<?php screen_icon('users'); ?><h2>New Setting Page title</h2>

<form action="options.php" method="post">

<?php settings_fields('plugin_options'); ?>
<?php do_settings_sections('plugin'); ?>
<table class="form-table">

<tr valign="top">

<td colspan="2">
<input name="Submit" type="submit" class="button button-primary" value="<?php esc_attr_e('Save Changes'); ?>" />
</td>

</tr>
</table>
</form>

</div>

<?php

}


add_action('admin_init', 'plugin_admin_init');
function plugin_admin_init(){
register_setting( 'plugin_options', 'plugin_options', 'plugin_options_validate' );
add_settings_section('plugin_main', 'Main Settings', 'plugin_section_text', 'plugin');
add_settings_field('plugin_text_input1', 'Input 1', 'plugin_input1', 'plugin', 'plugin_main');
add_settings_field('plugin_text_input2', 'Input 2', 'plugin_input2', 'plugin', 'plugin_main');
}

function plugin_section_text() {
echo '<p>New input setting to be saved.</p>';
}

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


function plugin_input2() {
$options = get_option('plugin_options');
echo "<input id='plugin_input2' class='normal-text code' name='plugin_options[text_string]' size='30' type='text' value='{$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;
}

?>

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

最佳答案

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

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

关于wordpress - 保存和检索自定义插件选项输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15550580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com