在WordPress中,update_option()
和 get_option()
是两个非常常用的函数,用于在数据库中保存和检索插件或主题的选项值。以下是如何使用这两个函数的步骤:
1. 使用 update_option()
保存选项值
update_option()
函数用于在WordPress数据库的 options
表中保存一个选项值。如果选项不存在,它将创建一个新的选项;如果选项已经存在,它将更新该选项的值。
函数的基本语法如下:
bool update_option( string $option, mixed $value, string|bool $autoload = 'yes' )
$option
:选项名称(通常是一个字符串)。$value
:要保存的选项值(可以是字符串、数组、整数等)。$autoload
:是否在WordPress启动时自动加载此选项。默认为 'yes'。
以下是一个示例,展示如何使用 update_option()
保存一个名为 my_plugin_option
的选项:
// 设置选项值
$value = '这是我的插件选项值';
// 保存选项值
update_option('my_plugin_option', $value);
2. 使用 get_option()
检索选项值
get_option()
函数用于从WordPress数据库的 options
表中检索一个选项值。
函数的基本语法如下:
mixed get_option( string $option, mixed $default = false )
$option
:要检索的选项名称。$default
:如果选项不存在,则返回的默认值。
以下是一个示例,展示如何使用 get_option()
检索名为 my_plugin_option
的选项值:
// 检索选项值
$option_value = get_option('my_plugin_option', '默认值');
// 使用检索到的选项值
echo $option_value;
在这个例子中,如果 my_plugin_option
选项不存在,get_option()
将返回 '默认值'。
完整示例
以下是一个完整的示例,展示如何在插件中使用这两个函数:
<?php
/*
Plugin Name: My Custom Plugin
Description: 示例插件,演示如何使用 update_option() 和 get_option()
Version: 1.0
Author: Your Name
*/
// 当插件被激活时设置一个选项
function my_plugin_activate() {
$value = '这是我的插件选项值';
update_option('my_plugin_option', $value);
}
register_activation_hook(__FILE__, 'my_plugin_activate');
// 在管理菜单中添加一个页面来显示和更新选项
function my_plugin_menu() {
add_menu_page(
'My Plugin Options',
'My Plugin',
'manage_options',
'my-plugin',
'my_plugin_options_page',
'dashicons-admin-generic',
80
);
}
add_action('admin_menu', 'my_plugin_menu');
// 显示和管理选项的页面
function my_plugin_options_page() {
?>
<div class="wrap">
<h1>My Plugin Options</h1>
<form method="post" action="options.php">
<?php
settings_fields('my_plugin_options');
do_settings_sections('my-plugin');
?>
<table class="form-table">
<tr valign="top">
<th scope="row">Option Value</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_plugin_register_settings() {
register_setting('my_plugin_options', 'my_plugin_option');
}
add_action('admin_init', 'my_plugin_register_settings');
在这个示例中,我们创建了一个简单的插件,它使用 update_option()
在插件激活时设置一个选项值,并使用 get_option()
在管理页面中显示和更新这个选项值。