Поиск по сайту:
Меньше всего мы прощаем другим те ошибки, какие совершали сами (Ж. Ру).

Добавление оповещения в панель администратора WordPress

05.12.2016
Добавление оповещений в панель администратора WordPress

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

Для этого я использовал встроенный крюк admin_notices, чтобы напечатать уведомление на всех страницах администратора. Тем не менее, эти уведомления, как правило, загромождают и иногда раздражают пользователя и, таким образом, получается наоборот наших намерений. Поэтому для меня было важно, позволить пользователям отклонить эти уведомления. Проблема заключалась в том, что WordPress не предоставляет интерфейс для выполнения этого.

Начиная с версии 4.2, WordPress поддерживает неотстранимые уведомления администратора. К сожалению, освобождение не является постоянным. Снятые уведомления будут появляться снова, когда пользователь перезагружает страницу или перейдет на другую страницу администратора.

С этой целью был разработал wp-admin-notifications – простой скрипт, который позволяет легко добавлять статические/неотстранимые уведомления администратора с одной строкой кода. Сценарий также предлагает дополнительные возможности для дальнейшей настройки поведения уведомления.

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

Читать  Что такое язык сценариев и какие из них наиболее распространены

Добавление оповещений в панель администратора WordPress

Добавление статического уведомления

Добавление статического уведомления администратора в WordPress с помощью wp-admin-notifications, так же просто, как сделать единый вызов функции wp_admin_notification(). Как минимум, эта функция принимает 3 параметра – $handle, $content и $type.

$handle используется для идентификации уведомления (далее мы будем обсуждать это в контексте неотстранимые уведомления).

$content используется в качестве содержания уведомления, и принимает текст и HTML.

$type - относится к типу уведомлении. Он принимает одну из строк  success, error, info или warning.

Следующий пример выведет статическое уведомление об ошибке:

<?php
wp_admin_notification( 
    'my-error-notice', 
    __('Ой! Это <strong>ошибка</strong> в сообщении.','slug'), 
    'error' 
);
?>

 

WordPress уведомление администратора добавлены с помощью wp_admin_notification

Добавление неотстранимых уведомлений

Четвертый аргумент позволяет превратить уведомление в неотстранимые. wp-admin-notifications делает удаление стойкими ко всем страницам администратора, сохраняя handle уведомлении в базе данных. Когда пользователь нажимает на кнопку закрыть, исполнение запросов производится в асинхронном режиме, чтобы сохранить handle уведомлении.

Следующий пример выведет неотстранимое предупреждающее уведомление:

<?php
wp_admin_notification( 
    'my-warning-notice', 
    __('Внимание, это <strong>предупреждение</strong> в сообщении.','slug'), 
    'warning', 
    true 
);
?>

 

WordPress dismissible уведомление администратора добавлены с помощью wp_admin_notification

Но что , если мы хотим показать закрытое уведомление? Например, когда пользователь удаляет плагин и устанавливает его еще раз, это имеет смысл, чтобы показать уведомление снова , даже если пользователь отклонил его ранее. Для этой цели можно использовать функцию  wp_reset_admin_notification($handle), которая сбрасывает уведомление для данной handle. Вызов удалит данную handle из базы данных, если пользователь ранее отклонил его.

Читать  Архитектура базы данных WordPress с описаниями

Например, следующий код сбросит уведомление о том, что соответствует handle 'my-warning-notice':

<?php
wp_reset_admin_notification( 'my-warning-notice' );
?>

 

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

Добавление уведомлений в многоузловые сети

В многоузлового среде WordPress, каждый сайт является его собственное отдельное лицо со своими собственными администрированием баз данных и таблиц. Кроме того, существует общий раздел, куда добавлены для администрирования сети, которая требует подключения к специальным крюкам действия. wp-admin-notifications будут печатать общесетевые уведомления, если 6 – й параметр установлен true. Она делает это путем подключения к крючку network_admin_notices.

Следующий пример печатает статическое уведомление об ошибке на всех сайтах, в том числе в области сетевого администрирования:

<?php
wp_admin_notification( 
    'my-error-notice', 
    __('Ой! Это <strong>ошибка</strong> в сообщении.','slug'), 
    'error',
    false,
    '', // Добавлен класс CSS
    true // Сделать в сети уведомления
);
?>

 

Настройка внешнего вида уведомлений

5 – ый аргумент функции позволяет добавлять дополнительный класс CSS к уведомлению. Это позволяет более детально настроить внешний вид уведомлений. Вы можете также расширить CSS специфичность, используя ID уведомлении. wp-admin-notifications использует handle уведомления в качестве атрибута ID элемента.

Например, чтобы изменить цвет фона следующего уведомления:

<?php
wp_admin_notification( 
    'my-error-notice', 
    __('Ой! это <strong>ошибка</strong> в сообщении.','slug'), 
    'error',
    false,
    'my-notice', // Добавлен класс CSS
);
?>

 

Читать  Как перенести блог из LiveJournal в WordPress

Вы можете использовать следующий CSS:

.my-notice {
    background-color: red;
}
/* Или использовать идентификатор, чтобы увеличить специфичность */
#my-error-notice {
    background-color: red;
}

 

Скорость и производительность

wp-admin-notifications инициирует только при наличии по крайней мере , 1 зарегистрированного уведомления. Таким образом, дополнительное воздействие производительности незначительна. Кроме того, если wp_reset_admin_notification($handle) правильно используется, то база данных будет оставаться в стороне от каких – либо следов.

Вывод

С  помощью wp-admin-notifications  при добавлении статических / неотстранимых уведомлений  становится легким. Если вы найдете ее полезной, пожалуйста, поделитесь этой статьи. Если у вас есть какие – либо дополнительные вопросы/запросы, пожалуйста, напишите их в комментариях. Благодарю!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Учитывая популярность WordPress, он регулярно становится мишенью хакеров. Даже если…

Спасибо!

Теперь редакторы в курсе.