Как создать автоматическое сообщение о изменении статуса тикета в WordPress

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

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

Ручное информирование о статусах тикетов неэффективно и часто приводит к задержкам в обработке обращений. Автоматические сообщения позволяют:

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

Для WordPress это особенно актуально, если тикеты реализованы как отдельный кастомный тип записей (custom post type) с пользовательскими статусами.

Настройка кастомного типа записей и статусов тикетов

Для начала убедимся, что у вас есть кастомный тип записей, например, wp_ticket, и несколько пользовательских статусов, например, "Новый", "В работе", "Ожидает ответа", "Закрыт". Если их нет, добавим их через функцию:

function wpticket_register_ticket_statuses() {
    register_post_status('new', array(
        'label'                     => 'Новый',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop('Новый <span class="count">(%s)</span>', 'Новых <span class="count">(%s)</span>'),
    ));
    register_post_status('in_progress', array(
        'label'                     => 'В работе',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop('В работе <span class="count">(%s)</span>', 'В работе <span class="count">(%s)</span>'),
    ));
    register_post_status('waiting_customer', array(
        'label'                     => 'Ожидает ответа',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop('Ожидает ответа <span class="count">(%s)</span>', 'Ожидает ответа <span class="count">(%s)</span>'),
    ));
    register_post_status('closed', array(
        'label'                     => 'Закрыт',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop('Закрыт <span class="count">(%s)</span>', 'Закрыт <span class="count">(%s)</span>'),
    ));
}
add_action('init', 'wpticket_register_ticket_statuses');

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

Отслеживание изменения статуса и отправка уведомлений

Чтобы отправлять уведомления, нужно отследить момент, когда статус тикета меняется. Для этого используем хук transition_post_status, который срабатывает при смене статуса записи.

function wpticket_send_status_change_notification($new_status, $old_status, $post) {
    if ($post->post_type !== 'wp_ticket') {
        return; // Не наш тип записи
    }
    if ($new_status === $old_status) {
        return; // Статус не изменился
    }

    // Получаем email автора тикета
    $author_id = $post->post_author;
    $user_info = get_userdata($author_id);
    if (!$user_info || !is_email($user_info->user_email)) {
        return; // Нет почты для уведомления
    }

    $to = $user_info->user_email;
    $subject = 'Изменение статуса вашего тикета #' . $post->ID;

    // Формируем сообщение, можно расширить под разные статусы
    $message = "Здравствуйте,\n\nСтатус вашего тикета с ID {$post->ID} был изменён с '{$old_status}' на '{$new_status}'.\nПожалуйста, проверьте обновления по вашему запросу.\n\nС уважением, служба поддержки.";

    wp_mail($to, $subject, $message);
}
add_action('transition_post_status', 'wpticket_send_status_change_notification', 10, 3);

Этот код отправляет простое письмо автору тикета при смене его статуса. Для более сложных сообщений можно использовать HTML-рассылку и шаблоны.

Использование плагина для расширенной автоматизации уведомлений

Если вы предпочитаете не писать код вручную, обратите внимание на плагин Clearfy Pro. Он предлагает набор инструментов для оптимизации и автоматизации WordPress, включая расширенные оповещения и логи.

Как вариант, для поддержки тикетов можно использовать Expert Review, который позволяет управлять отзывами и обращениями, включая настройку уведомлений.

Пример настройки уведомлений через Clearfy Pro

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

Дополнительные советы по улучшению уведомлений в тикет-системе

Для повышения эффективности уведомлений рекомендуем:

  • Добавлять ссылки в письмах на страницу тикета, чтобы пользователь мог быстро перейти и посмотреть детали.
  • Использовать HTML-письма с форматированием и логотипом вашей компании для повышения доверия.
  • Реализовать шаблоны писем для разных типов статусов и событий.
  • Логировать отправленные уведомления для контроля и отладки.
  • Добавить уведомления в админку для сотрудников поддержки, чтобы они видели, какие сообщения были отправлены.

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

Как создать двухуровневую систему разрешений в WordPress для тикетов
24.03.2026
Как создать автоматическое сообщение о изменении статуса тикета в WordPress
21.03.2026
Как автоматизировать управление тикетами в WordPress
21.12.2025
Как добавить автоматическое сообщение при создании тикета в WordPress
01.01.2026
Как добавить автотьюторные ответы в тикет-системе WordPress
04.03.2026