Функция DO_SETTINGS_FIELDS() в WordPress
Функция do_settings_fields() предназначена для отображения полей настроек в определальном разделе настроек на странице администратора WordPress. Она является частью API настроек и обычно вызывается через функцию do_settings_sections(), а не напрямую.
Возвращаемое значение
Функция не возвращает ничего (null).
Использование
Функция вызывается следующим образом:
do_settings_fields( $page, $section );
Где:
- $page (string, обязательный) — это уникальное название страницы администратора, на которой находятся поля настроек, которые вы хотите отобразить.
- $section (string, обязательный) — это название раздела настроек, поля которого вы хотите показать.
Примеры
Пример 1: Вывод зарегистрированных полей
Предположим, что мы зарегистрировали новые параметры, добавили раздел и поля в этот раздел. Чтобы отобразить эти поля на странице настроек плагина в административной панели, необходимо использовать следующую функцию:
Настройки плагина Primer
В этом примере:
settings_fields( 'primer_group' )добавляет необходимые защитные поля.do_settings_fields( 'primer_page', 'primer_section' )выводит поля из указанного раздела настроек.
Примечания
- Глобальная переменная
$wp_settings_fieldsиспользуется для хранения полей настроек и их страниц/разделов.
Изменения
- Функция
do_settings_fields()была введена в версии 2.7.0.
Код функции
Вот как выглядит код функции do_settings_fields():
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 "";
if ( ! empty( $field['args']['label_for'] ) ) {
echo ' ';
} else {
echo '' . $field['title'] . ' ';
}
echo '';
call_user_func( $field['callback'], $field['args'] );
echo ' ';
echo ' ';
}
}
Связанные функции
Вот некоторые функции, которые могут быть полезны при работе с API настроек в WordPress:
add_settings_error()add_settings_field()add_settings_section()do_settings_sections()get_settings_errors()register_setting()settings_errors()settings_fields()unregister_setting()
Эти функции помогут вам легко управлять настройками вашего плагина или темы в WordPress.