Получение ошибок настроек (GET_SETTINGS_ERRORS) в WordPress
Функция get_settings_errors() была добавлена в WordPress начиная с версии 3.0.0. Она предназначена для извлечения ошибок настроек, зарегистрированных с помощью функции add_settings_error().
Зачем нужна функция get_settings_errors()?
Эта функция проверяет массив $wp_settings_errors на наличие ошибок, которые были объявлены во время загрузки страницы настроек. Если изменения были только что отправлены и ошибки были сохранены в временном хранилище 'settings_errors', то эта функция возвращает именно эти ошибки.
Параметры функции:
-
$setting (string): название настройки, для которой вы хотите получить ошибки.
- По умолчанию: пустая строка
''
- По умолчанию: пустая строка
-
$sanitize (bool): нужно ли повторно обрабатывать настройку перед возвратом ошибок.
- По умолчанию:
false
- По умолчанию:
Пример использования функции
Вот пример, как использовать get_settings_errors() для отображения сообщений об ошибках на странице настроек:
Пример кода
add_action( 'admin_notices', 'your_admin_notices_action' );
function your_admin_notices_action() {
$settings_errors = get_settings_errors( 'my_option_name' );
if ( empty( $settings_errors ) ) {
return;
}
$output = '';
foreach ( $settings_errors as $key => $details ) {
$css_id = 'setting-error-' . $details['code'];
$css_class = $details['type'] . ' settings-error';
$output .= "n";
$output .= "{$details['message']}
";
$output .= "n";
}
echo $output;
}
В этом примере мы создаем собственный обработчик для вывода ошибок на экран, используя хук admin_notices. Проверяем, есть ли ошибки с конкретной настройкой, и если да, выводим их.
Как работает функция?
-
Проверка ошибок настроек:
Функция проверяет глобальный массив$wp_settings_errors. Если ошибок нет, возвращается пустой массив. -
Извлечение ошибок для конкретной настройки:
Если передан параметр$setting, функция фильтрует ошибки и возвращает только те, что относятся к указанной настройке.
Заметки
- Глобальная переменная:
$wp_settings_errors: массив ошибок, зарегистрированных во время загрузки страницы. Он автоматически заполняется при сохранении данных настроек.
Изменения в функции
- Функция была добавлена в WordPress начиная с версии 3.0.0 и продолжает использоваться и обновляться для совместимости с новыми версиями.
Эта информация поможет вам использовать get_settings_errors() для управления ошибками в ваших настройках WordPress. Не забывайте проверять ошибки и регистрировать их с помощью add_settings_error().