add_settings_section

Создает новый блок (секцию), в котором выводятся поля настроек. Т.е. в этот блок затем добавляются опции, с помощью add_settings_field()

Такой блок вы можете видеть на страницах настроек WordPress или плагинов – это группы настроек разделенные заголовком.

При создании плагина, можно просто создать новую секцию в уже существующую страницу настроек WordPress, вместо того, чтобы создавать отдельную страницу настроек. Это немного упростит создание плагина, и избавит от лишнего пункта административного меню. Пользователям укажете, что плагин настраивается на привычной странице настроек WordPress.

Это одна из группы функций из API настроек, работает в связке с ними.

Хуков нет.

Возвращает

Ничего не возвращает.

Использование

add_settings_section( $id, $title, $callback, $page );
$id(строка) (обязательный)
Идентификатор секции, по которому нужно “цеплять” поля к секции. Строка, которая будет использована для id атрибутов тегов.
По умолчанию: нет
$title(строка) (обязательный)
Заголовок секции.
По умолчанию: нет
$callback(строка) (обязательный)
Функция заполняет секцию описанием. Вызывается перед выводом полей.
По умолчанию: нет
$page(строка) (обязательный)

Страница на которой выводить секцию.
Должен совпадать с параметром $page в do_setting_sections( $page );

Или может совпадать с параметром $menu_slug из add_menu_page(), add_theme_page(), add_submenu_page().

Обычно $page и $menu_slug называются одинаково.
По умолчанию: нет

Примеры

Примеры использования смотрите в примерах, на странице API настроек.

Код из


wp-admin/includes/template.php

WP 4.7.2

<?php
function add_settings_section($id, $title, $callback, $page) {
	global $wp_settings_sections;

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

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

	$wp_settings_sections[$page][$id] = array('id' => $id, 'title' => $title, 'callback' => $callback);
}