要自定义WordPress插件的设置页面,需要进行以下步骤:
使用 add_menu_page()
或 add_submenu_page()
函数创建菜单页面。在菜单页面中添加链接,指向自定义设置页面。
示例代码:
add_menu_page( '插件设置', '插件设置', 'manage_options', 'my-plugin-settings', 'my_plugin_settings_page' );
add_submenu_page( 'my-plugin-settings', '设置页面', '设置', 'manage_options', 'my-plugin-settings', 'my_plugin_settings_page' );
在自定义设置页面中使用 add_settings_section()
和 add_settings_field()
函数添加设置选项。
add_settings_section()
用于添加设置选项分区,比如基本选项、高级选项等。add_settings_field()
用于添加具体的设置选项,比如开关选项、输入框选项等。示例代码:
function my_plugin_settings_page() {
?>
<div class="wrap">
<h1>插件设置</h1>
<form method="post" action="options.php">
<?php
settings_fields( 'my-plugin-settings-group' );
do_settings_sections( 'my-plugin-settings-page' );
submit_button();
?>
</form>
</div>
<?php
}
function my_plugin_settings() {
add_settings_section( 'my-plugin-settings', '基本设置', '', 'my-plugin-settings-page' );
add_settings_field( 'my-plugin-option-1', '选项1', 'my_plugin_option_1_display', 'my-plugin-settings-page', 'my-plugin-settings' );
register_setting( 'my-plugin-settings-group', 'my-plugin-option-1' );
}
function my_plugin_option_1_display() {
$option = get_option( 'my-plugin-option-1' );
?>
<input type="text" name="my-plugin-option-1" value="<?php echo esc_attr( $option ); ?>">
<?php
}
add_action( 'admin_init', 'my_plugin_settings' );
在自定义设置页面中,使用 register_setting()
函数注册设置选项的名称,并使用 get_option()
函数获取设置选项的值。
示例代码:
register_setting( 'my-plugin-settings-group', 'my-plugin-option-1' );
$option = get_option( 'my-plugin-option-1' );
最终效果:
插件设置页面包含一个名称为“选项1”的文本框,用户可以在其中输入值,该值会保存到数据库中。