функция since 3.0.0

settings_errors()

Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.

Сигнатура

settings_errors( string $setting = '', bool $sanitize = false, bool $hide_on_update = false )

Описание

Часть Settings API. Выводит div для каждой ошибки, полученной через get_settings_errors() .
Вызывается автоматически после отправки страницы настроек, основанной на Settings API. Ошибки следует добавлять в функции обратного вызова валидации для настройки, определённой в register_setting() .
Опция $sanitize передаётся в get_settings_errors() и повторно запускает очистку настройки для её текущего значения.
Опция $hide_on_update приводит к тому, что ошибки показываются только при первой загрузке страницы настроек. Если пользователь уже сохранил новые значения, ошибки будут скрыты, чтобы не повторять сообщения, уже показанные при стандартном выводе ошибок после отправки. Это полезно для показа общих ошибок, таких как отсутствующие настройки, когда пользователь заходит на страницу настроек.

Оригинал (английский)

Part of the Settings API. Outputs a div for each error retrieved by get_settings_errors() .

This is called automatically after a settings page based on the Settings API is submitted. Errors should be added during the validation callback function for a setting defined in register_setting() .

The $sanitize option is passed into get_settings_errors() and will re-run the setting sanitization on its current value.

The $hide_on_update option will cause errors to only show when the settings page is first loaded. if the user has already saved new values it will be hidden to avoid repeating messages already shown in the default error reporting after submission. This is useful to show general errors like missing settings when the user arrives at the settings page.

Параметры

$setting string необязательный = ''
Необязательный слаг конкретной настройки, ошибки которой нужны.
$sanitize bool необязательный = false
Нужно ли повторно очистить значение настройки перед возвратом ошибок.
$hide_on_update bool необязательный = false
Если задано значение true, ошибки не будут показаны, если страница настроек уже была отправлена.

Исходный код

wp-admin/includes/template.php:1985

function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) {

	if ( $hide_on_update && ! empty( $_GET['settings-updated'] ) ) {
		return;
	}

	$settings_errors = get_settings_errors( $setting, $sanitize );

	if ( empty( $settings_errors ) ) {
		return;
	}

	$output = '';

	foreach ( $settings_errors as $key => $details ) {
		if ( 'updated' === $details['type'] ) {
			$details['type'] = 'success';
		}

		if ( in_array( $details['type'], array( 'error', 'success', 'warning', 'info' ), true ) ) {
			$details['type'] = 'notice-' . $details['type'];
		}

		$css_id    = sprintf(
			'setting-error-%s',
			esc_attr( $details['code'] )
		);
		$css_class = sprintf(
			'notice %s settings-error is-dismissible',
			esc_attr( $details['type'] )
		);

		$output .= "<div id='$css_id' class='$css_class'> \n";
		$output .= "<p><strong>{$details['message']}</strong></p>";
		$output .= "</div> \n";
	}

	echo $output;
}

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

ВерсияОписание
5.3.0 Legacy error and updated CSS classes are mapped to notice-error and notice-success.
3.0.0 Introduced.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.