/** * 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'); }