首页 问答 正文

如何自定义WordPress插件的设置页面。

注册会员 / 悠然自学 / 2023-06-11/ 浏览 124 次

要自定义WordPress插件的设置页面,需要进行以下步骤:

  1. 创建菜单页面

使用 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' ); 
  1. 创建设置页面

在自定义设置页面中使用 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' ); 
  1. 保存设置值

在自定义设置页面中,使用 register_setting() 函数注册设置选项的名称,并使用 get_option() 函数获取设置选项的值。

示例代码:

register_setting( 'my-plugin-settings-group', 'my-plugin-option-1' );

$option = get_option( 'my-plugin-option-1' ); 

最终效果:

插件设置页面包含一个名称为“选项1”的文本框,用户可以在其中输入值,该值会保存到数据库中。

大家谈论
    我的见解