Если вы хотите уведомлять подписчиков или пользователей сайта о новых публикациях или изменениях в контенте, автоматизация таких сообщений значительно повысит вовлеченность аудитории. В этой статье разберем, как создать автоматические сообщения о новых или обновленных материалах на сайте WordPress с помощью кода и готовых плагинов.
Почему важны автоматические уведомления о новых публикациях
Автоматические сообщения позволяют:
- Поддерживать постоянную связь с аудиторией;
- Увеличивать трафик за счет оперативного информирования;
- Повышать вовлеченность и лояльность пользователей;
- Сокращать ручной труд по рассылкам и обновлениям.
Реализовать такую функциональность можно разными способами — от интеграции с почтовыми сервисами до вывода сообщений прямо на сайте.
Использование плагинов для автоматических уведомлений
Для большинства задач достаточно установить надежный плагин. Вот несколько популярных вариантов с их особенностями:
1. Better Notifications for WP
Плагин позволяет создавать настраиваемые уведомления по разным событиям — новые записи, обновления, комментарии и т.д. Можно настроить шаблоны писем и адресатов. Отлично подойдет для рассылки уведомлений администраторам и подписчикам.
2. Subscribe2
Простой инструмент для подписки на новые публикации с возможностью отправки уведомлений по email. Позволяет сегментировать подписчиков и настраивать частоту рассылок.
3. WP News and Scrolling Widgets
Если нужно показывать обновления контента прямо на сайте (например, в виде бегущей строки или виджета), этот плагин справится с задачей. Удобно для информирования посетителей без необходимости подписки.
Реализация автоматических уведомлений с помощью кода
Если вы хотите более гибкое и кастомное решение, можно написать собственный код для отправки уведомлений при публикации или обновлении записей.
Отправка email при публикации новой записи
Добавьте следующий код в файл functions.php вашей темы или в плагин-сниппет:
function wp_puzzle_send_new_post_notification(\$post_ID, \$post, \$update) {
if (\$post->post_status != 'publish' || \$update) return;
\$to = 'example@example.com'; // Замените на email получателя
\$subject = 'Новая публикация на сайте: ' . \$post->post_title;
\$message = 'Опубликована новая запись: ' . get_permalink(\$post_ID);
wp_mail(\$to, \$subject, \$message);
}
add_action('wp_insert_post', 'wp_puzzle_send_new_post_notification', 10, 3);Этот код отправляет email при первой публикации записи, игнорируя обновления.
Отправка уведомления при обновлении записи
Если нужно уведомлять и об изменениях существующих записей, используйте такой вариант:
function wp_puzzle_send_update_post_notification(\$post_ID, \$post, \$update) {
if (\$post->post_status != 'publish' || !\$update) return;
\$to = 'example@example.com';
\$subject = 'Обновлена публикация на сайте: ' . \$post->post_title;
\$message = 'Запись была обновлена: ' . get_permalink(\$post_ID);
wp_mail(\$to, \$subject, \$message);
}
add_action('wp_insert_post', 'wp_puzzle_send_update_post_notification', 10, 3);Как уведомлять группу подписчиков
Отправка уведомлений нескольким адресатам требует расширения кода. Например, можно хранить список подписчиков в пользовательском поле или отдельной таблице, а затем отправлять письма по списку.
Пример простой реализации с массивом адресов:
function wp_puzzle_send_notification_to_subscribers(\$post_ID, \$post, \$update) {
if (\$post->post_status != 'publish') return;
\$subscribers = array(
'user1@example.com',
'user2@example.com',
'user3@example.com'
);
\$subject = (\$update ? 'Обновлена публикация: ' : 'Новая публикация: ') . \$post->post_title;
\$message = 'Ссылка на запись: ' . get_permalink(\$post_ID);
foreach (\$subscribers as \$email) {
wp_mail(\$email, \$subject, \$message);
}
}
add_action('wp_insert_post', 'wp_puzzle_send_notification_to_subscribers', 10, 3);Для реального применения лучше хранить подписчиков в базе и реализовать подписку через форму.
Уведомления на сайте с использованием AJAX
Чтобы показывать уведомления о новых публикациях прямо на сайте без перезагрузки, можно использовать AJAX-запросы к REST API WordPress.
Пример AJAX-запроса для проверки новых записей:
jQuery(document).ready(function($) {
function wp_puzzle_check_new_posts() {
$.ajax({
url: wpApiSettings.root + 'wp/v2/posts?per_page=1',
method: 'GET',
beforeSend: function (xhr) {
xhr.setRequestHeader('X-WP-Nonce', wpApiSettings.nonce);
},
success: function(data) {
if (data.length) {
var latestPost = data[0];
$('#wp-puzzle-notification').text('Новая публикация: ' + latestPost.title.rendered);
}
}
});
}
setInterval(wp_puzzle_check_new_posts, 60000); // Проверка каждые 60 секунд
});Этот скрипт проверяет наличие новых публикаций и выводит уведомление в элемент с id wp-puzzle-notification.
Интеграция с WPShop: использование плагина WPRemark для отзывов об обновлениях
Если у вас на сайте есть отзывы, например с помощью плагина WPRemark, можно автоматически уведомлять пользователей о новых отзывах на обновленные материалы, что повышает интерактивность.
WPRemark позволяет гибко настраивать уведомления и отображение отзывов, что хорошо сочетается с системой автоматических сообщений.
Советы по настройке и безопасности
При реализации автоматических уведомлений учитывайте:
- Ограничьте частоту отправки сообщений, чтобы не спамить подписчиков;
- Используйте проверку статуса публикации и обновления записи, чтобы избежать ложных срабатываний;
- Добавьте защиту от повторной отправки одного и того же уведомления;
- Храните email подписчиков безопасно и соблюдайте требования GDPR и других законов о персональных данных;
- Тестируйте отправку на разных почтовых сервисах для избежания попадания в спам.
Заключение
Автоматизация сообщений об обновлениях контента на сайте WordPress — эффективный способ увеличить вовлеченность и улучшить коммуникацию с аудиторией. Для этого можно использовать как готовые плагины, так и собственные решения на PHP и JavaScript. Приведенные примеры кода можно адаптировать под свои задачи и расширять функциональность.
Подробнее про полезные плагины для автоматизации можно узнать на WPSHOP.ru.