Function
Register the settings.
tml_admin_register_settings( )
Source
function tml_admin_register_settings() {
$settings = array(
'theme-my-login' => array(
'sections' => tml_admin_get_settings_sections(),
'fields' => tml_admin_get_settings_fields(),
),
);
foreach ( tml_get_extensions() as $extension ) {
$settings[ $extension->get_name() ] = array(
'sections' => (array) $extension->get_settings_sections(),
'fields' => (array) $extension->get_settings_fields(),
);
if ( $extension->get_license_key_option() ) {
add_settings_field(
$extension->get_license_key_option(),
$extension->get_title(),
'tml_admin_setting_callback_license_key_field',
'theme-my-login-licenses',
'tml_settings_licenses',
array(
'extension' => $extension,
'label_for' => $extension->get_license_key_option(),
)
);
register_setting(
'theme-my-login-licenses',
$extension->get_license_key_option(),
'sanitize_text_field'
);
}
}
// Loop through settings
foreach ( $settings as $group ) {
// Loop through sections
foreach ( $group['sections'] as $section_id => $section ) {
// Only add section and fields if section has fields
if ( empty( $group['fields'][ $section_id ] ) ) {
continue;
}
$page = ! empty( $section['page'] ) ? $section['page'] : 'theme-my-login';
// Add the section
add_settings_section( $section_id, $section['title'], $section['callback'], $page );
// Loop through fields for this section
foreach ( $group['fields'][ $section_id ] 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, isset( $field['args'] ) ? $field['args'] : array() );
}
// Register the setting
register_setting( $page, $field_id, isset( $field['sanitize_callback'] ) ? $field['sanitize_callback'] : array() );
}
}
}
}
Uses
Changelog
| Version | Description |
|---|---|
| 7.0 | Introduced. |