2023-06-11 / 337阅
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