wpseek.com
A WordPress-centric search engine for devs and theme authors



add_settings_section › WordPress Function

Since2.7.0
Deprecatedn/a
add_settings_section ( $id, $title, $callback, $page, $args = array() )
Parameters: (5)
  • (string) $id Slug-name to identify the section. Used in the 'id' attribute of tags.
    Required: Yes
  • (string) $title Formatted title of the section. Shown as the heading for the section.
    Required: Yes
  • (callable) $callback Function that echos out any content at the top of the section (between heading and fields).
    Required: Yes
  • (string) $page The slug-name of the settings page on which to show the section. Built-in pages include 'general', 'reading', 'writing', 'discussion', 'media', etc. Create your own using add_options_page();
    Required: Yes
  • (array) $args { Arguments used to create the settings section. @type string $before_section HTML content to prepend to the section's HTML output. Receives the section's class name as `%s`. Default empty. @type string $after_section HTML content to append to the section's HTML output. Default empty. @type string $section_class The class name to use for the section. Default empty. }
    Required: No
    Default: array()
Defined at:
Codex:
Change Log:
  • 6.1.0

Adds a new section to a settings page.

Part of the Settings API. Use this to define new settings sections for an admin page. Show settings sections in your admin page callback function with do_settings_sections(). Add settings fields to your section with add_settings_field(). The $callback argument should be the name of a function that echoes out any content you want to show at the top of the settings section before the actual fields. It can output nothing if you want.


Source

function add_settings_section( $id, $title, $callback, $page, $args = array() ) {
	global $wp_settings_sections;

	$defaults = array(
		'id'             => $id,
		'title'          => $title,
		'callback'       => $callback,
		'before_section' => '',
		'after_section'  => '',
		'section_class'  => '',
	);

	$section = wp_parse_args( $args, $defaults );

	if ( 'misc' === $page ) {
		_deprecated_argument(
			__FUNCTION__,
			'3.0.0',
			sprintf(
				/* translators: %s: misc */
				__( 'The "%s" options group has been removed. Use another settings group.' ),
				'misc'
			)
		);
		$page = 'general';
	}

	if ( 'privacy' === $page ) {
		_deprecated_argument(
			__FUNCTION__,
			'3.5.0',
			sprintf(
				/* translators: %s: privacy */
				__( 'The "%s" options group has been removed. Use another settings group.' ),
				'privacy'
			)
		);
		$page = 'reading';
	}

	$wp_settings_sections[ $page ][ $id ] = $section;
}