/** * Register the settings * * @since bbPress (r2737) * * @uses add_settings_section() To add our own settings section * @uses add_settings_field() To add various settings fields * @uses register_setting() To register various settings * @todo Put fields into multidimensional array */ public static function register_admin_settings() { // Bail if no sections available $sections = bbp_admin_get_settings_sections(); if (empty($sections)) { return false; } // Are we using settings integration? $settings_integration = bbp_settings_integration(); // Loop through sections foreach ((array) $sections as $section_id => $section) { // Only proceed if current user can see this section if (!current_user_can($section_id)) { continue; } // Only add section and fields if section has fields $fields = bbp_admin_get_settings_fields_for_section($section_id); if (empty($fields)) { continue; } // Toggle the section if core integration is on if (true === $settings_integration && !empty($section['page'])) { $page = $section['page']; } else { $page = 'bbpress'; } // Add the section add_settings_section($section_id, $section['title'], $section['callback'], $page); // Loop through fields for this section foreach ((array) $fields as $field_id => $field) { // Add the field if (!empty($field['callback']) && !empty($field['title'])) { add_settings_field($field_id, $field['title'], $field['callback'], $page, $section_id, $field['args']); } // Register the setting register_setting($page, $field_id, $field['sanitize_callback']); } } }
/** * Register the settings * * @since bbPress (r2737) * * @uses add_settings_section() To add our own settings section * @uses add_settings_field() To add various settings fields * @uses register_setting() To register various settings * @todo Put fields into multidimensional array */ public static function register_admin_settings() { // Bail if no sections available if (!($sections = bbp_admin_get_settings_sections())) { return false; } // Loop through sections foreach ($sections as $section_id => $section) { // Only proceed if current user can see this section if (!bbp_current_user_can_see($section_id)) { continue; } // Only add section and fields if section has fields if ($fields = bbp_admin_get_settings_fields_for_section($section_id)) { // Add the section add_settings_section($section_id, $section['title'], $section['callback'], $section['page']); // Loop through fields for this section foreach ($fields as $field_id => $field) { // Add the field add_settings_field($field_id, $field['title'], $field['callback'], $section['page'], $section_id, $field['args']); // Register the setting register_setting($section['page'], $field_id, $field['sanitize_callback']); } } } }