В поисках централизованного центра уведомлений WordPress

Опубликовано: 2016-04-20

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

Темы Сделай это тоже

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

Когда пользователи задались вопросом, как удалить уведомления, разработчики Redux Framework ответили созданием коммерческого расширения.

Уведомление администратора Redux Framework
Уведомление администратора Redux Framework

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

При подготовке этой статьи я обнаружил, что Дови Паукстис, соучредитель и ведущий разработчик Redux Framework, занимается удалением рекламы из текущих и будущих уведомлений администратора. Паукстис предоставил «Таверне» следующее заявление:

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

Мы надеемся, что другие фреймворки, плагины и продукты последуют этому примеру.

Центр уведомлений WP

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

Плагин WP Notification Center, разработанный Barry Kooij и Never5, добавляет в WordPress центр уведомлений. Этот плагин перемещает уведомления администратора в центральное место, освобождая ценное пространство экрана.

Центр уведомлений WP
Центр уведомлений WP

При активации в панель администратора добавляется область уведомлений. Это сообщает вам количество доступных уведомлений и обеспечивает быстрый доступ к просмотру. Сообщения также имеют цветовую кодировку, чтобы можно было легко отличить сообщения об обновлениях от сообщений об ошибках.

Ссылки в уведомлении ведут на соответствующую страницу администратора для просмотра более подробной информации. К сожалению, вы не можете отклонить уведомления с панели инструментов администратора, не переходя по ссылкам внутри них. По словам Кооиджа, отклонение уведомлений — сложная проблема.

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

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

Что касается возможности включения WP Notification Center в ядро, «я хотел бы написать патч для ядра, который настроил бы это правильно», — сказал Койдж. «В конечном итоге это приведет к отказу от поддержки и прекращению отображения уведомлений, которые добавляются по-старому».

Если вы заинтересованы в решении этой проблемы или хотели бы внести свой вклад в другие аспекты проекта, вы можете найти его на GitHub, где приветствуются проблемы и запросы на вытягивание.

API уведомлений WordPress

Во время беседы с разработчиками WordPress Core в январе Джон Блэкборн предложил API уведомлений, который заменит wp_mail() на расширяемый API. Разработчики могут подключить API для отправки уведомлений через веб-перехватчики, которые активируют уведомления Slack и IM. Также будет добавлен пользовательский интерфейс, чтобы пользователи и администраторы могли выбирать, какие отдельные уведомления и типы включать/отключать.

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

Уведомления о реактивном ранце

Jetpack обрабатывает уведомления через модуль, который добавляет значок на панель инструментов. Уведомления включают лайки, комментарии, подписки, а также возможность модерировать комментарии и отвечать на них.

Уведомления о реактивном ранце
Уведомления о реактивном ранце

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

Подписчики могут видеть уведомления администратора

Одна из самых удивительных вещей, которые я узнал, это то, что подписчики могут видеть уведомления администратора. На первый взгляд, это не имеет смысла, поскольку у подписчиков нет возможностей, необходимых для обработки уведомлений. Я проверил эту теорию на тестовом сайте WP Tavern, активировав Yoast SEO и плагин All in One SEO.

Это то, что я вижу, когда захожу под админом.

Уведомления администратора при входе в систему как администратор
Уведомления администратора при входе в систему как администратор

Это та же панель инструментов, когда вы вошли в систему как подписчик.

Уведомления администратора при входе в систему в качестве подписчика
Уведомления администратора при входе в систему в качестве подписчика

Как видите, уведомления исчезают при входе в систему в качестве подписчика. Хотя я изначально думал, что это проблема в ядре, похоже, это больше проблема разработчика. У Дж. С. Мориссе, прокомментировавшего исходную статью, есть возможное объяснение:

Слово «администратор» (для уведомлений) можно интерпретировать двояко: либо это уведомления администратора/внутренней части, либо уведомления администратора.

Я всегда понимал, что они первые (уведомления отображаются на панели администратора) и могут быть видны любым/всем внутренним пользователям, поэтому я использую «current_user_can()» в своем собственном коде для отображения различных типов. сообщений. Возможно, это скорее проблема осведомленности разработчиков, чем основная проблема WP.

Хотя я не анализировал код в тестируемых плагинах, проверка возможностей current_user_can() объясняет, почему администраторы видят уведомления, а подписчики — нет.

Что я хотел бы видеть в централизованном центре уведомлений WordPress

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

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

Как видно выше, над решением этой проблемы работает множество людей и проектов. Каким был бы ваш идеальный центр уведомлений WordPress?