首页 问答 正文

如何在WordPress中添加设置选项?

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

若要在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插件中,并根据自己的需要进行修改,以实现自定义设置选项。

大家谈论
    我的见解