BBP_Admin::register_admin_settings()
Register the settings
Description Description
Source Source
File: includes/admin/classes/class-bbp-admin.php
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;
}
// Overload the converter page
if ( ! empty( $section['page'] ) && ( ( 'converter' === $section['page'] ) || ( 'deep' === $settings_integration ) ) ) {
$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'] );
}
}
}
Changelog Changelog
| Version | Description |
|---|---|
| 2.0.0 | Introduced. |