# add_settings_section()

URL: https://chugunov.pro/api-wordpress/functions/add_settings_section/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.7.0.

## Сигнатура

```php
add_settings_section( string $id, string $title, callable $callback, string $page, array $args = array() )
```

## Описание

Часть Settings API. Используется для определения новых секций настроек на странице администрирования.
Отображайте секции настроек в функции обратного вызова страницы администрирования с помощью do_settings_sections() .
Добавляйте поля настроек в секцию с помощью add_settings_field() .
Аргумент $callback должен быть именем функции, которая выводит любое содержимое, отображаемое в верхней части секции настроек перед самими полями. При желании она может ничего не выводить.

## Параметры

- `$id` `string` — обязательный. Слаг для идентификации секции. Используется в атрибуте 'id' тегов.
- `$title` `string` — обязательный. Отформатированный заголовок секции. Отображается как заголовок секции.
- `$callback` `callable` — обязательный. Функция, отображающая любое содержимое в верхней части секции (между заголовком и полями).
- `$page` `string` — обязательный. Слаг страницы настроек, на которой показывать секцию. Встроенные страницы: 'general', 'reading', 'writing', 'discussion', 'media' и т. д. Создайте свою с помощью add_options_page() ;
- `$args` `array` — необязательный, по умолчанию `array()`. Аргументы, используемые для создания секции настроек.
  
  before_section stringHTML-содержимое, добавляемое перед HTML-выводом секции.
  
  Получает имя класса секции в виде %s.
  
  after_section stringHTML-содержимое, добавляемое после HTML-вывода секции.
  
  section_class stringИмя класса, используемое для секции.

## Исходный код

Файл: `wp-admin/includes/template.php:1637`

```php
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;
}
```

## История изменений

- 6.1.0 — Added an $args parameter for the section’s HTML wrapper and class name.
- 2.7.0 — Introduced.

## Связанные

Использует: [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`_deprecated_argument`](https://chugunov.pro/api-wordpress/functions/_deprecated_argument/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/add_settings_section/
