Как создать автоматический отчет по тикетам в WordPress с WPtickets и WPRemark

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

Почему важен автоматический отчет по тикетам в службе поддержки

Ручное формирование отчетов занимает время, особенно при большом количестве тикетов и агентов. Автоматизация позволяет:

  • Экономить время сотрудников и руководителей;
  • Получать регулярный объективный анализ работы службы поддержки;
  • Отслеживать ключевые показатели (количество новых тикетов, время ответа, количество решенных запросов и т.д.);
  • Быстро выявлять узкие места и улучшать процессы.

Плагин WPtickets предоставляет мощный API для работы с тикетами, а WPRemark расширяет возможности по генерации отчетов и уведомлений.

Настройка плагинов WPtickets и WPRemark для отчетов

Перед созданием отчета убедитесь, что оба плагина установлены и активированы на вашем сайте. WPtickets отвечает за работу с тикетами, WPRemark — за создание шаблонов писем и автоматизацию рассылок.

Для начала создадим функцию, которая будет собирать данные по тикетам за нужный период. Например, за последнюю неделю:

function wpticketsru_get_weekly_tickets_report() {
    $args = array(
        'post_type' => 'wpticket',
        'post_status' => 'any',
        'date_query' => array(
            array(
                'after' => '1 week ago',
                'inclusive' => true,
            ),
        ),
        'posts_per_page' => -1,
    );

    $query = new WP_Query($args);

    $total_tickets = $query->found_posts;
    $open_tickets = 0;
    $closed_tickets = 0;

    foreach ($query->posts as $ticket_post) {
        $status = get_post_meta($ticket_post->ID, '_wpticket_status', true);
        if ($status === 'closed') {
            $closed_tickets++;
        } else {
            $open_tickets++;
        }
    }

    return array(
        'total' => $total_tickets,
        'open' => $open_tickets,
        'closed' => $closed_tickets,
    );
}

Эта функция использует WP_Query для выборки тикетов за последнюю неделю и подсчитывает общее количество, а также сколько из них открыты и закрыты.

Формирование текстового отчета

Дальше создадим функцию, которая преобразует данные в удобочитаемый формат для отправки по email:

function wpticketsru_format_report_text($data) {
    $text = "Отчет по тикетам за последнюю неделю:\n";
    $text .= "Всего тикетов: " . $data['total'] . "\n";
    $text .= "Открытых тикетов: " . $data['open'] . "\n";
    $text .= "Закрытых тикетов: " . $data['closed'] . "\n";
    return $text;
}

Теперь можно отправить этот отчет на email с помощью WPRemark. Для этого создадим шаблон письма в WPRemark и вызовем функцию отправки:

Автоматическая отправка отчета с помощью WPRemark и WP Cron

Для регулярной отправки отчета используем планировщик заданий WordPress — WP Cron. Добавим задачу, которая будет выполняться раз в неделю:

add_action('wpticketsru_send_weekly_report', 'wpticketsru_send_report_email');

function wpticketsru_schedule_weekly_report() {
    if (!wp_next_scheduled('wpticketsru_send_weekly_report')) {
        wp_schedule_event(time(), 'weekly', 'wpticketsru_send_weekly_report');
    }
}
add_action('wp', 'wpticketsru_schedule_weekly_report');

function wpticketsru_send_report_email() {
    $data = wpticketsru_get_weekly_tickets_report();
    $message = wpticketsru_format_report_text($data);

    $to = 'manager@example.com'; // Замените на email получателя
    $subject = 'Автоматический отчет по тикетам WPtickets';

    wp_mail($to, $subject, $message);
}

Эта реализация базовая, но ее можно расширять: например, подключать шаблоны WPRemark, добавлять более детальные данные (среднее время ответа, рейтинг агентов), экспорт в CSV или PDF.

Расширение отчета: добавление подробной статистики и кастомных метрик

WPtickets хранит множество метаданных — количество ответов, прикрепленные файлы, приоритеты. Используя их, можно создавать более глубокие отчеты.

Пример дополнительного подсчета среднего времени ответа:

function wpticketsru_get_average_response_time() {
    $args = array(
        'post_type' => 'wpticket',
        'post_status' => 'any',
        'posts_per_page' => -1,
    );

    $query = new WP_Query($args);
    $total_response_time = 0;
    $count = 0;

    foreach ($query->posts as $ticket_post) {
        $created = get_post_time('U', false, $ticket_post);
        $first_response = get_post_meta($ticket_post->ID, '_wpticket_first_response_time', true);
        if ($first_response) {
            $response_time = $first_response - $created;
            $total_response_time += $response_time;
            $count++;
        }
    }

    if ($count === 0) return 0;
    return round($total_response_time / $count);
}

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

Советы по улучшению автоматических отчетов в WPtickets

  • Используйте кастомные поля WPtickets для сбора уникальных данных;
  • Интегрируйте WPRemark для создания красочных и информативных HTML-отчетов;
  • Добавляйте графики и диаграммы с помощью сторонних библиотек, например, Chart.js, в отчетах на странице администратора;
  • Автоматизируйте отправку отчетов через email с помощью WP Cron и проверяйте логи для отлова ошибок;
  • Если у вас мультисайт, создайте мультистор отчетность, собирая данные со всех сайтов.

Таким образом, автоматизация отчетности по тикетам с WPtickets и WPRemark поможет повысить эффективность службы поддержки и своевременно принимать решения на основе аналитики.

Для более детальной настройки и расширения возможностей рекомендуем ознакомиться с документацией плагинов на WPSHOP.ru.

Как удалить спам из формы тикетов WPtickets
17.04.2026
Как создать пользовательские свойства для тикетов в WordPress с WPtickets
26.02.2026
WP Tickets: как использовать хук для добавления поля в форму создания тикета
10.05.2026
WooCommerce: почему не прошёл автоматический апдейт статуса заказа и как исправить
08.07.2026
Как создать автоматический отчет по просмотру тикетов в WPtickets для WordPress
09.04.2026