Наверняка каждый обладатель блога на WP заморачивался вопросом уведомлений об ответах на комментарии. Или например уведомления о публикации комментария, если комментарии уходят на модерацию. Если с первым помогает узкоспециализированный плагин, то со вторым уже сложнее. Да и этот плагин работать начинает только после ковыряния в нем.
Я долго искал какие-либо решения, но решение нашлось совсем случайно, когда я его уже перестал искать. Да и комментарии как таковые вообще отключил.
В общем для одного заказчика приобретал плагин и там вместе с этим плагином прицепом ставится ещё один плагин. Встречайте!
Содержание
Notification – Custom Notifications and Alerts for WordPress
Ссылка на страницу плагина: https://wordpress.org/plugins/notification/
Изучить вдоль и поперек я его пока не успел, но на первый взгляд кажется довольно мощным инструментом. Уведомления настраиваются путем добавления записей в соответствующем разделе.
На первый взгляд страница добавления довольно проста:

Как видите, первое — это поле для заголовка, второе — это триггер, там мы выбираем событие, о котором будем уведомлять, а третье — это способ обработки уведомления.
Триггеры
Событий по сути не много, но более чем достаточно. Вот список этих событий:
Записи
- Запись added
Срабатывает при добавлении Запись (Post) в базу данных. Полезно при добавлении сообщений программно или для интеграции с третьей стороной - Запись saved as a draft
Срабатывает, когда Запись (post) сохраняется как черновик - Запись published
Срабатывает, когда Запись (post) опубликована - Запись updated
Срабатывает, когда Запись (post) обновлена - Запись sent for review
Срабатывает при отправке Запись (post) на проверку - Запись scheduled
Срабатывает, когда публикация Запись (post) запланирована - Запись trashed
Срабатывает, когда Запись (post) перемещена в корзину - Запись approved
Срабатывает при утверждении Запись (post), то есть когда автор отправляет публикацию на утверждение
Страницы
- Страница added
Срабатывает, когда Страница (page) добавляется в базу данных. Полезно при добавлении сообщений программно или для интеграции с третьей стороной - Страница saved as a draft
Срабатывает, когда Страница (page) сохраняется как черновик - Страница published
Срабатывает, когда Страница (page) опубликована - Страница updated
Срабатывает, когда Страница (page) обновлена - Страница sent for review
Срабатывает при отправке Страница (page) на проверку - Страница scheduled
Срабатывает, когда публикация Страница (page) запланирована - Страница trashed
Срабатывает, когда Страница (page) перемещена в корзину - Страница approved
Срабатывает при утверждении Страница (page), то есть когда автор отправляет публикацию на утверждение
Рубрики
- Рубрика term created
Срабатывает при создании Рубрика (category) - Рубрика term updated
Срабатывает при обновлении Рубрика (category) - Рубрика term deleted
Срабатывает при удалении Рубрика (category)
Метка
- Метка term created
Срабатывает при создании Метка (post_tag) - Метка term updated
Срабатывает при обновлении Метка (post_tag) - Метка term deleted
Срабатывает при удалении Метка (post_tag)
Пользователи
- User login
Срабатывает при авторизпации пользователя в WordPress - User logout
Срабатывает при нажатии ссылки «Выйти» WordPress - User registration
Срабатывает при регистрации нового пользователя - User profile updated
Срабатывает при обновлении - User deleted
Срабатывает при удалении пользователя - User password changed
Срабатывает при изменении пароля пользователя - User password reset request
Срабатывает при запросе пользователем смены пароля - User login failed
Срабатывает при неудачном входе пользователя в систему - User role changed
Срабатывает при изменении роли пользователя
Медиафайлы
- Media added
Срабатывает при добавлении нового медиафайла - Media updated
Срабатывает при обновлении медиафайла - Media trashed
Срабатывает при удалении медиафайла
Комментарии
- Comment published
Срабатывает при публикации нового комментария на сайте. Включает в себя ответы на комментарии. - Comment added
Срабатывает при добавлении нового комментария в базу данных. Включает в себя ответы на комментарии. - Comment replied
Срабатывает при ответе на комментарий и одобрении ответа - Comment approved
Срабатывает при одобрении комментария - Comment unapproved
Срабатывает, когда комментарий помечен как неутвержденный - Comment spammed
Срабатывает, когда комментарий помечен как спам - Comment trashed
Срабатывает, когда комментарий удален
Плагины
- Plugin activated
Срабатывает при активации плагина - Plugin deactivated
Срабатывает при отключении плагина - Plugin updated
Срабатывает при обновлении плагина - Plugin installed
Срабатывает при установке плагина - Plugin removed
Срабатывает при удалении плагина
Темы
- Theme switched
Срабатывает при переключении темы - Theme updated
Срабатывает при обновлении темы - Theme installed
Срабатывает при установке темы
Добавление уведомления
Мне нужно добавить два типа уведомлений.
- Уведомление об ответе на комментарий
- Уведомление об одобрении комментария
По сути, для меня это эксперимент, цель которого доказать или опровергнуть гипотезу. Гипотеза заключается в следующем: комментарии — доказательство интереса к сайту. Чем активнее комментируют, тем лучше.
А как спровоцировать активное обсуждение если, комментарии попадают на модерацию, а про ответы на комментарии авторы вообще не уведомляются никоим образом. А так, добавил комментарий и ушел. Чуть погодя приходит письмо мол комментарий одобрен, лишнее напоминание о нашем сайте. Если комментарий получает ответ, то приходит ещё уведомление. То есть как на всех нормальных сайтах.
Уведомление об ответе на комментарий
Начнем с самого главного. Во всяком случае для меня это важнее чем уведомление о добавлении комментария. Жмем кнопку для добавления нового уведомления и производим соответствующие настройки.

В заголовке пишем название нашего уведомления, в поле Comment replied. В секции Carriers жмем Add New Carrier, там выбираем Email кликая большое письмо. Далее заполняем поля в появившейся форме.
Указываем тему письма, текст, и ставим переменную {parent_comment_author_user_email} в поле Recipient. Все переменные собраны в колонке справа и разделены на группы, для облегчения поиска необходимых переменных.
Жмем кнопку Save, что справа и наше уведомление создано. Теперь при ответе на какой-либо комментарий автор комментария будет получать уведомление на почту.
Как видите все довольно просто. Можно перейти к настройке второго уведомления.
Описывать настройку уведомления о публикации не вижу смысла. Там все просто. В качестве триггера выбираем Comment approved. В поле Recipient ставим переменную {comment_author_user_email}. Тема и текст письма уже на свое усмотрение.
Потом я всё протестировал. Всё работает как по нотам.