✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Вспомогательная функция для уведомлений администратора

33

Если вы занимаетесь созданием плагинов или даже тем, если на то пошло, и включаете объектно-ориентированные методы в свою работу, то вы, вероятно, сталкивались с сериализацией того или иного типа. И один из аспектов сериализации в том, что она требует некоторой обратной связи для пользователя.

Это может быть сообщение об успешном завершении, сообщение об ошибке или сообщение, просто предупреждающее пользователя о том, что что-то пошло не так или, возможно, что-то следует обновить.

В любом случае, WordPress предоставляет все необходимые нам возможности; однако мы можем сделать это еще проще для себя, написав вспомогательную функцию для уведомлений администратора. Это тоже просто.

Уведомления администратора: вспомогательная функция

Когда дело доходит до написания уведомлений администратора, важно ознакомиться с соответствующим крючком.

Оттуда вам также необходимо знать следующие имена классов:

  • уведомление-ошибка
  • уведомление-успех
  • уведомление-предупреждение
  • уведомление-информация

При этом можно написать вспомогательную функцию, которая использует вышеуказанный хук и анонимную функцию (или замыкание) для достижения именно того, что вам нужно. Но сначала обратите внимание на следующее:

Анонимные функции, также известные как замыкания, позволяют создавать функции без определенного имени. Они наиболее полезны в качестве значений параметров обратного вызова, но у них есть много других применений.

С учетом сказанного у вас должно быть все, что вам нужно, чтобы написать свой помощник, и иметь представление о том, когда его очищать.

Во- первых, вспомогательная функция:

<?php

/**
 * Provides an easy eay to display an administration notice based on the incoming
 * class and message.
 *
 * @param string $class   the class to add to the notice (warning, error, success)
 * @param string $message the message to display in the administration notice area
 */
protected function displayAdminNotice($class, $message)
{
    add_action(
        'admin_notices',
        function() use ($class, $message) {
            printf(
                '<div class="%1$s"><p>%2$s</p></div>',
                esc_attr($class),
                esc_html($message)
            );
        }
    );
}

Далее предположим, что выполняемый запрос содержит недопустимые данные. Чтобы справиться с этим, вы должны использовать вышеупомянутый помощник следующим образом:

<?php

if (!$this->hasValidInput()) {
    $this->displayAdminNotice(
        'notice notice-error',
        'You must specify a valid email address and license key.'
    );
}

С другой стороны, допустим, все работает нормально:

<?php

if (update_option('acme-option', $values)) {
    $this->displayAdminNotice(
      'notice notice-success',
      'The options were updated successfully!'
  );
}

Как видите, эта функция использует нативные хуки WordPress, возможности PHP, а также создает метод, который можно тестировать, что имеет значение, если вы хотите писать тестируемые веб-приложения в WordPress.

И даже если нет, у вас есть более простой способ сделать ваш код немного более СУХИМ, чем это было раньше.

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее