Получение ошибок настроек в WordPress: функция get_settings_errors()

Получение ошибок настроек (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. Проверяем, есть ли ошибки с конкретной настройкой, и если да, выводим их.

Как работает функция?

  1. Проверка ошибок настроек:
    Функция проверяет глобальный массив $wp_settings_errors. Если ошибок нет, возвращается пустой массив.

  2. Извлечение ошибок для конкретной настройки:
    Если передан параметр $setting, функция фильтрует ошибки и возвращает только те, что относятся к указанной настройке.

Заметки

  • Глобальная переменная:
    • $wp_settings_errors: массив ошибок, зарегистрированных во время загрузки страницы. Он автоматически заполняется при сохранении данных настроек.

Изменения в функции

  • Функция была добавлена в WordPress начиная с версии 3.0.0 и продолжает использоваться и обновляться для совместимости с новыми версиями.

Эта информация поможет вам использовать get_settings_errors() для управления ошибками в ваших настройках WordPress. Не забывайте проверять ошибки и регистрировать их с помощью add_settings_error().

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *