在WordPress中,update_option()
和 get_option()
是两个非常常用的函数,用于保存和检索插件或主题的设置。以下是如何使用这两个函数的基本步骤:
1. 使用 update_option()
保存设置
update_option()
函数用于在WordPress数据库中保存或更新一个选项。它接受两个参数:选项名称和要保存的值。
update_option( $option_name, $new_value );
$option_name
: 选项的名称,通常是一个字符串,用于唯一标识这个选项。$new_value
: 要保存的值,可以是字符串、数组、整数等。
以下是一个示例,展示如何在插件设置表单中保存设置:
// 检查是否有表单提交
if ( isset( $_POST['submit'] ) ) {
// 获取表单数据
$setting_value = sanitize_text_field( $_POST['my_setting'] );
// 保存设置
update_option( 'my_plugin_setting', $setting_value );
// 可以添加一个操作钩子,用于在保存设置后执行其他操作
add_action( 'admin_notices', 'my_plugin_admin_notice' );
}
// 显示一个设置保存成功的通知
function my_plugin_admin_notice() {
?>
<div class="notice notice-success is-dismissible">
<p><?php _e( 'Settings saved!', 'my-plugin-textdomain' ); ?></p>
</div>
<?php
}
2. 使用 get_option()
检索设置
get_option()
函数用于从WordPress数据库中检索一个选项的值。它接受一个参数:选项名称。
$value = get_option( $option_name );
$option_name
: 选项的名称,与保存时使用的名称相同。
以下是一个示例,展示如何在插件中检索并使用之前保存的设置:
// 检索设置
$my_plugin_setting = get_option( 'my_plugin_setting', 'default_value' );
// 使用设置
echo 'The setting value is: ' . esc_html( $my_plugin_setting );
在这个例子中,get_option()
的第二个参数是可选的,它提供了一个默认值,以防该选项尚未设置。
注意事项
- 在使用用户输入之前,始终使用WordPress提供的函数(如
sanitize_text_field()
)进行清理和验证。 - 确保选项名称是唯一的,以避免与WordPress核心或其他插件/主题的选项冲突。
- 在使用
update_option()
时,确保只在适当的时候(如表单提交后)更新设置。