WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

do_settings_sections() WP 2.7

Выводит на экран все блоки опций, относящиеся к указанной странице настроек в админ-панели.

Функция работает в связке с другими функциями API настроек.

Заметка: функция выведет заголовки секций в теге H3 и поля формы в таблице.

Работает на основе: do_settings_fields()

Хуков нет.

Возвращает

Выводит на экран HTML код блоков с полями формы.

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

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

Примеры

#1. Вывод секций настроек на странице настроек

Предположим, что мы зарегистрировали новые опции, добавили блок и поля к этому блоку. Теперь, нам нужно вывести эти поля на странице настроек плагина в админ-панели, тогда используем эту функцию:

<div class="wrap">  
	<?php screen_icon(); ?>  
	<h2>Настройки плагина Primer</h2>  

	<form action="options.php" method="POST">  
		<?php settings_fields( 'option_id' ); ?>
		<?php do_settings_sections( 'primer_page' ); ?> 
		<?php submit_button(); ?>  
	</form>  
</div>

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

Заметки

  • Global. $wp_settings_sections. Storage array of all settings sections added to admin pages.
  • Global. $wp_settings_fields. Storage array of settings fields and info about their pages/sections.

Список изменений

С версии 2.7.0 Введена.

Код do settings sections: wp-admin/includes/template.php WP 5.3

<?php
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['title'] ) {
			echo "<h2>{$section['title']}</h2>\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 '<table class="form-table" role="presentation">';
		do_settings_fields( $page, $section['id'] );
		echo '</table>';
	}
}

Cвязанные функции

Из раздела: API Настроек

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться