# do_settings_fields()

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

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

## Сигнатура

```php
do_settings_fields( string $page, string $section )
```

## Описание

Часть Settings API. Используйте на странице настроек для вывода конкретной секции. Обычно должна вызываться через do_settings_sections() , а не напрямую.

## Параметры

- `$page` `string` — обязательный. Слаг страницы администрирования, поля настроек которой нужно показать.
- `$section` `string` — обязательный. Слаг секции настроек, поля которой нужно показать.

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

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

```php
function do_settings_fields( $page, $section ) {
	global $wp_settings_fields;

	if ( ! isset( $wp_settings_fields[ $page ][ $section ] ) ) {
		return;
	}

	foreach ( (array) $wp_settings_fields[ $page ][ $section ] as $field ) {
		$class = '';

		if ( ! empty( $field['args']['class'] ) ) {
			$class = ' class="' . esc_attr( $field['args']['class'] ) . '"';
		}

		echo "<tr{$class}>";

		if ( ! empty( $field['args']['label_for'] ) ) {
			echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>';
		} else {
			echo '<th scope="row">' . $field['title'] . '</th>';
		}

		echo '<td>';
		call_user_func( $field['callback'], $field['args'] );
		echo '</td>';
		echo '</tr>';
	}
}
```

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

- 2.7.0 — Introduced.

## Связанные

Использует: [`esc_attr`](https://chugunov.pro/api-wordpress/functions/esc_attr/).
Используется в: [`do_settings_sections`](https://chugunov.pro/api-wordpress/functions/do_settings_sections/).

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