Esempio n. 1
0
 /**
  * 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']);
         }
     }
 }
Esempio n. 2
0
 /**
  * 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']);
             }
         }
     }
 }