В системах поддержки на базе 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.