首页 视频课程 主题开发课程第28章、后台设置 WordPress Options API 主题设置项介绍

WordPress Options API 主题设置项介绍

2023-06-11 / 337阅

WordPress Options API 主题设置项介绍

WordPress Options API 可以让你在 WordPress 主题中添加设置项,以便用户自定义主题的外观和行为。这些设置项可以是文本框、下拉菜单、单选框等等。在本文中,我们将向您介绍 WordPress Options API 并提供一个自定义主题设置项示例。

添加设置项

要向主题中添加设置项,您需要在函数 functions.php 中注册一个新选项。

function mytheme_register_settings() {
    add_option( 'mytheme_color_scheme', 'blue' );
    register_setting( 'mytheme_settings', 'mytheme_color_scheme', 'sanitize_text_field' );
}
add_action( 'admin_init', 'mytheme_register_settings' ); 

上述代码中,我们定义了一个新选项 mytheme_color_scheme,并将其初始值设为 blue。我们还使用 register_setting() 函数注册了此选项,使其成为可用的设置项。第一个参数是设置页面的唯一名称,第二个参数是选项名称,第三个参数是选项值的过滤器,使用 sanitize_text_field() 函数将文本字符串进行安全性处理。

您可以添加任意数量的设置项,只需将上述代码复制并修改选项名称和默认值即可。

创建设置页面

要为主题创建设置页面,您需要编写一个新的函数,该函数将输出一个设置表单。

function mytheme_settings_page() {
?>
    <div class="wrap">
        <h1><?php echo esc_html( get_admin_page_title() ); ?></h1>
        <form action="options.php" method="post">
            <?php settings_fields( 'mytheme_settings' ); ?>
            <?php do_settings_sections( 'mytheme_settings' ); ?>
            <table class="form-table">
                <tr valign="top">
                    <th scope="row"><?php esc_html_e( 'Color Scheme', 'mytheme' ); ?></th>
                    <td>
                        <select name="mytheme_color_scheme">
                            <option value="blue" <?php selected( get_option( 'mytheme_color_scheme' ), 'blue' ); ?>><?php esc_html_e( 'Blue', 'mytheme' ); ?></option>
                            <option value="red" <?php selected( get_option( 'mytheme_color_scheme' ), 'red' ); ?>><?php esc_html_e( 'Red', 'mytheme' ); ?></option>
                            <option value="green" <?php selected( get_option( 'mytheme_color_scheme' ), 'green' ); ?>><?php esc_html_e( 'Green', 'mytheme' ); ?></option>
                        </select>
                    </td>
                </tr>
            </table>
            <?php submit_button(); ?>
        </form>
    </div>
<?php
} 

上述代码包括一个标题,一个表单和一个下拉菜单,让用户可以选择主题颜色方案。我们使用 settings_fields() 函数和 do_settings_sections() 函数输出 WordPress Options API 所需的表单字段。我们还使用 get_option() 函数获取保存的选项值,并使用 selected() 函数为选定的选项添加 selected 属性。

添加设置链接

最后,我们将添加一个设置链接到 WordPress 菜单中。这样,用户就可以轻松访问主题设置页面。

function mytheme_settings_menu() {
    add_theme_page( __( 'Theme Settings', 'mytheme' ), __( 'Theme Settings', 'mytheme' ), 'manage_options', 'mytheme-settings', 'mytheme_settings_page' );
}
add_action( 'admin_menu', 'mytheme_settings_menu' ); 

上述代码使用 add_theme_page() 函数添加了一个新的 WordPress 菜单项。第一个参数是页面标题,第二个参数是菜单标题,第三个参数是用户角色,第四个参数是页面的唯一标识符,第五个参数是用于输出设置页面表单的函数名称。

现在,您可以在 WordPress 后台中找到一个名为「Theme Settings」的菜单,它将指向您添加的设置页面。

总结

WordPress Options API 是一个方便的工具,可以帮助您向 WordPress 主题中添加自定义设置项。通过按照上述步骤进行操作,您可以轻松创建一个设置页面,让用户自定义您的主题的外观和行为。

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录