在WordPress插件开发中,update_option()
和 get_option()
是两个非常常用的函数,它们用于在WordPress数据库中存储和检索插件设置或选项数据。以下是这两个函数的基本用法:
get_option()
get_option()
函数用于从WordPress数据库中检索一个选项的值。
基本语法:
mixed get_option( string $option, mixed $default = false )
$option
: 要检索的选项名称(字符串)。$default
: 如果选项不存在,则返回的默认值(可选)。
示例:
// 检索名为 'my_plugin_option' 的选项值
$my_option_value = get_option( 'my_plugin_option', '默认值' );
// 如果选项不存在,则 $my_option_value 将被设置为 '默认值'
update_option()
update_option()
函数用于更新WordPress数据库中的选项值。
基本语法:
bool update_option( string $option, mixed $value, string $autoload = 'yes' )
$option
: 要更新的选项名称(字符串)。$value
: 新的选项值。$autoload
: 是否在WordPress启动时自动加载此选项。默认为 'yes',但如果你知道选项不会在大多数页面上使用,可以设置为 'no'。
示例:
// 更新名为 'my_plugin_option' 的选项值
update_option( 'my_plugin_option', '新值' );
完整示例
以下是一个简单的示例,展示了如何在插件中使用 get_option()
和 update_option()
来处理选项数据。
<?php
/*
Plugin Name: My Custom Plugin
Description: Example plugin to demonstrate get_option() and update_option()
Version: 1.0
Author: Your Name
*/
// 添加一个设置页面链接到 WordPress 管理菜单
function my_custom_plugin_menu() {
add_menu_page(
'My Custom Plugin Settings',
'My Plugin',
'manage_options',
'my-custom-plugin-settings',
'my_custom_plugin_settings_page',
'dashicons-admin-generic',
80
);
}
add_action( 'admin_menu', 'my_custom_plugin_menu' );
// 设置页面内容
function my_custom_plugin_settings_page() {
?>
<div class="wrap">
<h1>My Custom Plugin Settings</h1>
<form method="post" action="options.php">
<?php
// 输出设置字段
settings_fields( 'my_custom_plugin_settings' );
// 输出所有设置节
do_settings_sections( 'my_custom_plugin_settings' );
?>
<table class="form-table">
<tr valign="top">
<th scope="row">My Option</th>
<td>
<input type="text" name="my_plugin_option" value="<?php echo esc_attr( get_option('my_plugin_option') ); ?>" />
</td>
</tr>
</table>
<?php
// 提交按钮
submit_button();
?>
</form>
</div>
<?php
}
// 注册设置
function my_custom_plugin_register_settings() {
register_setting( 'my_custom_plugin_settings', 'my_plugin_option' );
}
add_action( 'admin_init', 'my_custom_plugin_register_settings' );
在这个示例中,我们创建了一个简单的插件,它添加了一个设置页面到WordPress管理菜单。在这个设置页面中,我们使用 get_option()
来显示当前选项的值,并允许用户通过表单来更新它。当用户提交表单时,WordPress会自动调用 update_option()
来更新数据库中的选项值。我们使用 register_setting()
函数来确保选项在提交时得到适当的处理。