在WordPress插件开发中,使用选项API来保存和获取插件设置是一个常见的任务。以下是使用选项API保存和获取插件设置的步骤:
1. 添加设置页面
首先,你需要为你的插件添加一个设置页面,这样用户可以在WordPress后台进行配置。
function myplugin_add_settings_page() {
add_options_page(
'My Plugin Settings', // 页面标题
'My Plugin', // 菜单标题
'manage_options', // 权限级别
'myplugin-settings', // 页面slug
'myplugin_settings_page' // 显示设置的回调函数
);
}
add_action('admin_menu', 'myplugin_add_settings_page');
function myplugin_settings_page() {
?>
<div class="wrap">
<h1>My Plugin Settings</h1>
<form method="post" action="options.php">
<?php
settings_fields('myplugin_options_group'); // 设置表单字段
do_settings_sections('myplugin-settings'); // 显示设置部分
submit_button(); // 提交按钮
?>
</form>
</div>
<?php
}
2. 注册设置
接下来,你需要注册一个设置,这样WordPress才知道要保存哪些数据。
function myplugin_register_settings() {
// 注册一个设置字段
register_setting(
'myplugin_options_group', // 选项组名
'myplugin_option_name', // 选项名
'myplugin_sanitize_input' // 输入验证函数
);
// 添加设置部分
add_settings_section(
'myplugin_section_id', // ID
'My Plugin Settings', // 标题
'myplugin_section_callback', // 回调函数
'myplugin-settings' // 页面slug
);
// 添加设置字段
add_settings_field(
'myplugin_field_id', // ID
'Setting Field', // 标题
'myplugin_field_callback', // 回调函数
'myplugin-settings', // 页面slug
'myplugin_section_id' // 设置部分ID
);
}
add_action('admin_init', 'myplugin_register_settings');
// 设置部分回调函数
function myplugin_section_callback() {
echo '<p>Enter your settings below:</p>';
}
// 设置字段回调函数
function myplugin_field_callback() {
$option = get_option('myplugin_option_name');
echo '<input type="text" id="myplugin_option_name" name="myplugin_option_name" value="' . esc_attr($option) . '" />';
}
// 输入验证函数
function myplugin_sanitize_input($input) {
// 验证和清理输入
$new_input = sanitize_text_field($input);
return $new_input;
}
3. 保存和获取设置
在上面的代码中,我们已经定义了如何注册设置和显示表单。当用户提交表单时,register_setting
函数会自动处理保存过程。
要获取保存的设置,你可以使用 get_option
函数:
$myplugin_option = get_option('myplugin_option_name');
这样,你就可以在插件的其他部分使用 $myplugin_option
变量来访问保存的设置值了。