首页 视频课程 主题开发课程第28章、后台设置 WordPress默认设置项字段类型及注册方法

WordPress默认设置项字段类型及注册方法

2023-06-11 / 251阅

  1. 文本框(text)

使用方法:使用add_settings_field()函数注册字段,设置typetext,调用回调函数时传入输入框的名称和值。

示例代码:

// 注册字段
add_settings_field(
    'my_textbox',
    'My Textbox', // 显示在页面上的标签文本
    'my_textbox_callback', // 回调函数
    'my_settings_page', // 设置页面 slug
    'my_settings_section' // 设置页面中的章节编号
);

// 回调函数
function my_textbox_callback() {
    $setting = get_option('my_settings'); // 获取设置项
    $value = isset($setting['my_textbox']) ? esc_attr($setting['my_textbox']) : ''; // 获取选项值
    echo '<input type="text" name="my_settings[my_textbox]" value="' . $value . '" />';
} 
  1. 文本域(textarea)

使用方法:与文本框类似,使用add_settings_field()函数注册字段,设置typetextarea,调用回调函数时传入文本域的名称和值。

示例代码:

// 注册字段
add_settings_field(
    'my_textarea',
    'My Textarea', // 显示在页面上的标签文本
    'my_textarea_callback', // 回调函数
    'my_settings_page', // 设置页面 slug
    'my_settings_section' // 设置页面中的章节编号
);

// 回调函数
function my_textarea_callback() {
    $setting = get_option('my_settings'); // 获取设置项
    $value = isset($setting['my_textarea']) ? esc_attr($setting['my_textarea']) : ''; // 获取选项值
    echo '<textarea name="my_settings[my_textarea]" rows="5" cols="50">' . $value . '</textarea>';
} 
  1. 单选框(radio)

使用方法:使用add_settings_field()函数注册字段,设置typeradio,调用回调函数时传入单选框的名称、值和标签。

示例代码:

// 注册字段
add_settings_field(
    'my_radio',
    'My Radio', // 显示在页面上的标签文本
    'my_radio_callback', // 回调函数
    'my_settings_page', // 设置页面 slug
    'my_settings_section' // 设置页面中的章节编号
);

// 回调函数
function my_radio_callback() {
    $setting = get_option('my_settings'); // 获取设置项
    $options = array(
        'option1' => 'Option 1',
        'option2' => 'Option 2',
        'option3' => 'Option 3'
    );

    foreach ($options as $key => $label) {
        $checked = isset($setting['my_radio']) && $setting['my_radio'] == $key ? 'checked' : '';
        echo '<label><input type="radio" name="my_settings[my_radio]" value="' . $key . '" ' . $checked . ' />' . $label . '</label><br>';
    }
} 
  1. 复选框(checkbox)

使用方法:使用add_settings_field()函数注册字段,设置typecheckbox,调用回调函数时传入复选框的名称、值和标签。

示例代码:

// 注册字段
add_settings_field(
    'my_checkbox',
    'My Checkbox', // 显示在页面上的标签文本
    'my_checkbox_callback', // 回调函数
    'my_settings_page', // 设置页面 slug
    'my_settings_section' // 设置页面中的章节编号
);

// 回调函数
function my_checkbox_callback() {
    $setting = get_option('my_settings'); // 获取设置项
    $checked = isset($setting['my_checkbox']) && $setting['my_checkbox'] == true ? 'checked' : '';
    echo '<input type="checkbox" name="my_settings[my_checkbox]" value="1" ' . $checked . ' />';
} 
  1. 下拉框(select)

使用方法:使用add_settings_field()函数注册字段,设置typeselect,调用回调函数时传入下拉框的名称、选项和标签。

示例代码:

// 注册字段
add_settings_field(
    'my_select',
    'My Select', // 显示在页面上的标签文本
    'my_select_callback', // 回调函数
    'my_settings_page', // 设置页面 slug
    'my_settings_section' // 设置页面中的章节编号
);

// 回调函数
function my_select_callback() {
    $setting = get_option('my_settings'); // 获取设置项
    $options = array(
        'option1' => 'Option 1',
        'option2' => 'Option 2',
        'option3' => 'Option 3'
    );
    echo '<select name="my_settings[my_select]">';

    foreach ($options as $key => $label) {
        $selected = isset($setting['my_select']) && $setting['my_select'] == $key ? 'selected' : '';
        echo '<option value="' . $key . '" ' . $selected . '>' . $label . '</option>';
    }
    echo '</select>';
} 

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

大家谈论
    我的见解
    目录