add_settings_section() – Adds a new section to a settings page.

You appear to be a bot. Output may be restricted

Description

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.

Usage

add_settings_section( $id, $title, $callback, $page, $args );

Parameters

$id
( string ) required – Slug-name to identify the section. Used in the 'id' attribute of tags.
$title
( string ) required – Formatted title of the section. Shown as the heading for the section.
$callback
( callable ) required – Function that echos out any content at the top of the section (between heading and fields).
$page
( string ) required – 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();
$args
( array ) optional – { Arguments used to create the settings section.
$before_section
( string ) optional – HTML content to prepend to the section's HTML output. Receives the section's class name as `%s`. Default empty.
$after_section
( string ) optional – HTML content to append to the section's HTML output. Default empty.
$section_class
( string ) optional – The class name to use for the section. Default empty. }

Returns

void

Source

File name: wordpress/wp-admin/includes/template.php
Lines:

1 to 42 of 42
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(
      add_settings_section,
      '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(
      add_settings_section,
      '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;
}
 

 View on GitHub View on Trac