Автоматизация отправки сообщений в WordPress — полезная функция для сайтов, которые хотят уведомлять пользователей о важных событиях, обновлениях или действиях без постоянного ручного вмешательства. В этой статье расскажем, как создать автоматические сообщения с помощью встроенных хуков и пингов WordPress, а также приведём примеры кода и рекомендации по плагинам для расширения возможностей.
Что такое хуки и пинги в WordPress: основы для автоматизации сообщений
Хуки (actions и filters) — это точки подключения к внутренним процессам WordPress, позволяющие запускать кастомный код в определённые моменты. Например, когда новая запись публикуется, когда пользователь авторизуется, или когда обновляется комментарий.
Пинги (pingbacks и trackbacks) — специальные уведомления между блогами и сайтами WordPress, которые информируют об упоминании контента. Также их можно использовать как триггеры для запуска автоматических действий.
Используя хуки и пинги, можно настроить автоматическую отправку сообщений, например, по email, в мессенджеры или в админ-панель.
Разберём на практике, как это реализовать.
Автоматическая отправка уведомлений при публикации записи
Очень частая задача — отправить уведомление пользователям или администратору сразу после публикации записи.
Для этого используем хук publish_post или универсальный transition_post_status. Пример функции с префиксом wpfactory_:
function wpfactory_send_post_published_notification($new_status, $old_status, $post) {
if ($old_status !== 'publish' && $new_status === 'publish' && $post->post_type === 'post') {
$to = get_option('admin_email');
$subject = 'Новая публикация на сайте';
$message = 'Опубликована новая запись: ' . $post->post_title . '\nСсылка: ' . get_permalink($post->ID);
wp_mail($to, $subject, $message);
}
}
add_action('transition_post_status', 'wpfactory_send_post_published_notification', 10, 3);Эта функция автоматически отправит письмо администратору при публикации новой записи. Можно легко адаптировать её для рассылки пользователям или интеграции с внешними сервисами.
Использование пингов для автоматизации реакций на внешние упоминания
Пинги — это механизм, который можно использовать, чтобы реагировать на упоминания вашего сайта на других ресурсах.
Хук pingback_ping срабатывает, когда сайт получил пингбек. Добавим обработчик:
function wpfactory_handle_pingback($source_url, $target_url) {
// Логируем пингбек или отправляем уведомление
error_log('Получен пингбек с ' . $source_url . ' на ' . $target_url);
// Можно реализовать дополнительную логику, например отправку письма
}
add_action('pingback_ping', 'wpfactory_handle_pingback', 10, 2);Таким образом можно автоматически реагировать на внешние ссылки, например, пересылать уведомления редакторам или публиковать комментарии с подтверждением.
Пример: автоматическое создание и отправка пользовательских сообщений через WP-Cron
Для автоматической рассылки сообщений, например, еженедельных уведомлений, используем WP-Cron.
Создадим функцию, которая будет запускаться по расписанию и отправлять письма:
function wpfactory_send_weekly_newsletter() {
$users = get_users(['role' => 'subscriber']);
foreach ($users as $user) {
$to = $user->user_email;
$subject = 'Еженедельная рассылка с сайта';
$message = 'Здравствуйте, ' . $user->display_name . '! Вот новости за неделю...';
wp_mail($to, $subject, $message);
}
}
function wpfactory_schedule_weekly_newsletter() {
if (!wp_next_scheduled('wpfactory_weekly_newsletter_event')) {
wp_schedule_event(time(), 'weekly', 'wpfactory_weekly_newsletter_event');
}
}
add_action('wpfactory_weekly_newsletter_event', 'wpfactory_send_weekly_newsletter');
add_action('wp', 'wpfactory_schedule_weekly_newsletter');Этот код создаёт событие, которое еженедельно запускает рассылку всем подписчикам.
Рекомендации по плагинам для расширения и упрощения автоматических сообщений
Если хочется упростить процесс и получить готовые решения, рекомендую обратить внимание на следующие плагины:
- Expert Review — позволяет автоматизировать отзывы и сообщения с оценками, удобно для сбора обратной связи и уведомлений.
- WPRemark — для создания и управления отзывами и комментариями, можно настроить автоматические уведомления.
- My Popup — плагин для создания всплывающих окон с сообщениями, которые могут запускаться по событиям, включая хуки.
Эти плагины помогут автоматизировать сложные сценарии без глубокого погружения в программирование.
Заключение: как правильно использовать хуки и пинги для автоматических сообщений
Хуки и пинги — мощный инструмент для расширения функционала WordPress. С их помощью можно создавать очень гибкие и точные сценарии автоматических сообщений и уведомлений.
Главное — грамотно выбирать событие для срабатывания, оптимизировать код, чтобы не замедлять сайт, и обеспечить надежную доставку сообщений через wp_mail или сторонние сервисы.
Используйте примеры из статьи как основу для собственных решений, а при необходимости — подключайте готовые плагины из каталога WPShop для ускорения разработки.