# DO_SETTINGS_SECTIONS() │ WP 2.7.0
Функция do_settings_sections()
выводит все секции настроек, добавленные на конкретную страницу настроек.
Эта функция является частью API настроек WordPress. Вы должны использовать её в функции обратного вызова для страницы настроек, чтобы отобразить все секции и поля, которые были добавлены с помощью add_settings_section()
и add_settings_field()
.
## Возвращаемое значение
Функция не возвращает ничего (null).
## Использование
Чтобы использовать do_settings_sections()
, передайте в неё название страницы, где хотите отобразить секции настроек:
```php
do_settings_sections( $page );
Параметры
$page
(строка, обязательный) — название страницы, секции настроек которой вы хотите отобразить.
Примеры
Пример 1: Вывод секций настроек на странице настроек плагина
Предположим, вы зарегистрировали новые параметры, добавили блок и поля в этот блок. Теперь нужно отобразить эти поля на странице настроек вашего плагина в админ-панели. Для этого используйте следующий код:
Настройки плагина Primer
Для полного примера использования API настроек, смотрите [документацию по API настроек].
Заметки
- Глобальная переменная. Массив.
$wp_settings_sections
— массив, в котором хранятся все секции настроек, добавленные на страницы администратора. - Глобальная переменная. Массив.
$wp_settings_fields
— массив, в котором хранятся поля настроек и информация о их страницах и секциях.
История изменений
- С версии 2.7.0 — была введена.
Код функции
Функция do_settings_sections
выглядит следующим образом:
function do_settings_sections( $page ) {
global $wp_settings_sections, $wp_settings_fields;
if ( ! isset( $wp_settings_sections[ $page ] ) ) {
return;
}
foreach ( (array) $wp_settings_sections[ $page ] as $section ) {
if ( '' !== $section['before_section'] ) {
if ( '' !== $section['section_class'] ) {
echo wp_kses_post( sprintf( $section['before_section'], esc_attr( $section['section_class'] ) ) );
} else {
echo wp_kses_post( $section['before_section'] );
}
}
if ( $section['title'] ) {
echo "{$section['title']}
n";
}
if ( $section['callback'] ) {
call_user_func( $section['callback'], $section );
}
if ( ! isset( $wp_settings_fields ) || ! isset( $wp_settings_fields[ $page ] ) || ! isset( $wp_settings_fields[ $page ][ $section['id'] ] ) ) {
continue;
}
echo '';
do_settings_fields( $page, $section['id'] );
echo '
';
if ( '' !== $section['after_section'] ) {
echo wp_kses_post( $section['after_section'] );
}
}
}
Связанные функции
При работе с API настроек вы можете использовать следующие функции:
add_settings_error()
add_settings_field()
add_settings_section()
do_settings_fields()
get_settings_errors()
register_setting()
settings_errors()
settings_fields()
unregister_setting()
Эта структурированная статья объясняет, как использовать функцию do_settings_sections()
в WordPress, и помогает понять ее назначение и как применять с примерами кода.