若要在WordPress中添加设置选项,可以使用add_options_page()函数来创建自定义设置页面,并添加对应选项。这里是一个基本示例代码:
// 添加设置页面
function my_plugin_options() {
add_options_page(
'My Plugin Settings',
'My Plugin',
'manage_options',
'my-plugin-options',
'my_plugin_options_page'
);
}
add_action('admin_menu', 'my_plugin_options');
// 设置页面选项
function my_plugin_options_page() {
if (!current_user_can('manage_options')) {
wp_die('You do not have sufficient permissions to access this page.');
}
?>
<div class="wrap">
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
<form method="post" action="options.php">
<?php settings_fields('my-plugin-options-group'); ?>
<?php do_settings_sections('my-plugin-options'); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
// 注册设置选项
function my_plugin_register_settings() {
register_setting('my-plugin-options-group', 'my_setting_1');
register_setting('my-plugin-options-group', 'my_setting_2');
add_settings_section('my-plugin-section-1', 'Section 1', null, 'my-plugin-options');
add_settings_field('my_setting_1', 'Setting 1', 'my_setting_1_callback', 'my-plugin-options', 'my-plugin-section-1');
add_settings_field('my_setting_2', 'Setting 2', 'my_setting_2_callback', 'my-plugin-options', 'my-plugin-section-1');
}
add_action('admin_init', 'my_plugin_register_settings');
// 定义设置选项回调函数
function my_setting_1_callback() {
$value = esc_attr(get_option('my_setting_1'));
echo '<input type="text" name="my_setting_1" value="' . $value . '" />';
}
function my_setting_2_callback() {
$value = esc_attr(get_option('my_setting_2'));
echo '<textarea name="my_setting_2">' . $value . '</textarea>';
}
在以上代码中,my_plugin_options()
函数使用add_options_page()
函数创建了一个名为“My Plugin”的选项页面,并添加到WordPress管理菜单中。my_plugin_options_page()
函数生成所创建页面的显示内容,并将选项字段与WordPress中的设置字段相关联。my_plugin_register_settings()
函数注册了具体设置选项,包括选项名称(例如“my_setting_1”和“my_setting_2”)和相应的选项部分。最后,my_setting_1_callback()
和my_setting_2_callback()
函数定义了每个选项的回调函数,以及如何获取和更新这些选项的值。
将以上代码添加到自己的WordPress插件中,并根据自己的需要进行修改,以实现自定义设置选项。