add_settings_field( string $id, string $title, callable $callback, string $page, string $section = 'default', array $args = array() )
Add a new field to a section of a settings page
Description
Part of the Settings API. Use this to define a settings field that will show as part of a settings section inside a settings page. The fields are shown using do_settings_fields() in do_settings-sections()
The $callback argument should be the name of a function that echoes out the html input tags for this setting field. Use get_option() to retrieve existing values to show.
Parameters
- $id
-
(Required) Slug-name to identify the field. Used in the 'id' attribute of tags.
- $title
-
(Required) Formatted title of the field. Shown as the label for the field during output.
- $callback
-
(Required) Function that fills the field with the desired form inputs. The function should echo its output.
- $page
-
(Required) The slug-name of the settings page on which to show the section (general, reading, writing, ...).
- $section
-
(Optional) The slug-name of the section of the settings page in which to show the box. Default 'default'.
Default value: 'default'
- $args
-
(Optional) Extra arguments used when outputting the field.
- 'label_for'
(string) When supplied, the setting title will be wrapped in a<label>
element, itsfor
attribute populated with this value. - 'class'
(string) CSS Class to be added to the<tr>
element when the field is output.
Default value: array()
- 'label_for'
Source
File: wp-admin/includes/template.php
function add_settings_field($id, $title, $callback, $page, $section = 'default', $args = array()) {
global $wp_settings_fields;
if ( 'misc' == $page ) {
_deprecated_argument( __FUNCTION__, 'WP-3.0.0',
/* translators: %s: misc */
sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ),
'misc'
)
);
$page = 'general';
}
if ( 'privacy' == $page ) {
_deprecated_argument( __FUNCTION__, 'WP-3.5.0',
/* translators: %s: privacy */
sprintf( __( 'The "%s" options group has been removed. Use another settings group.' ),
'privacy'
)
);
$page = 'reading';
}
$wp_settings_fields[$page][$section][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $args);
}
Changelog
Version | Description |
---|---|
WP-4.2.0 | The $class argument was added. |
WP-2.7.0 | Introduced. |