Пример #1
0
/**
 * Register settings sections, fields, etc
 */
function code_snippets_register_settings()
{
    if (!get_option('code_snippets_settings', false)) {
        add_option('code_snippets_settings', code_snippets_get_default_settings());
    }
    /* Register the setting */
    register_setting('code-snippets', 'code_snippets_settings', 'code_snippets_settings_validate');
    /* Register settings sections */
    foreach (code_snippets_get_settings_sections() as $section_id => $section_name) {
        add_settings_section('code-snippets-' . $section_id, $section_name, '__return_empty_string', 'code-snippets');
    }
    /* Register settings fields */
    foreach (Code_Snippets_Settings::get_fields() as $section_id => $fields) {
        foreach ($fields as $field) {
            $atts = $field;
            $atts['section'] = $section_id;
            add_settings_field('code_snippets_' . $field['id'], $field['name'], "code_snippets_{$field['type']}_field", 'code-snippets', 'code-snippets-' . $section_id, $atts);
        }
    }
    /* Add editor preview as a field */
    add_settings_field('code_snippets_editor_preview', __('Editor Preview', 'code-snippets'), 'code_snippets_settings_editor_preview', 'code-snippets', 'code-snippets-editor');
}