Интеграция WPtickets с WPRemark для автоматического присваивания тикетов

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

Зачем нужна автоматизация присваивания тикетов в WPtickets

Если у вас растет количество обращений через WPtickets, ручное распределение тикетов становится узким местом. Автоматизация позволяет:

  • Сократить время реакции на запросы;
  • Избежать ошибок и дублирования при назначении;
  • Распределить нагрузку между сотрудниками по заданным правилам;
  • Повысить удовлетворенность клиентов за счет оперативного ответа.

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

Настройка WPRemark для работы с WPtickets: основные шаги

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

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

Откройте файл functions.php вашей темы или создайте отдельный плагин и добавьте следующий код:

function wptickets_autoresponsible_assign($ticket_id) {
    $ticket = get_post($ticket_id);
    if (!$ticket || $ticket->post_type !== 'wptickets') {
        return;
    }

    // Получаем метки тикета через WPRemark
    $labels = get_post_meta($ticket_id, 'wpremark_labels', true);

    if (is_array($labels)) {
        // Пример: если метка 'техническая поддержка' - назначаем сотрудника с ID 5
        if (in_array('техническая поддержка', $labels)) {
            wp_update_post(array(
                'ID' => $ticket_id,
                'post_author' => 5
            ));
        }
        // Добавьте другие условия по меткам
    }
}
add_action('wptickets_new_ticket_created', 'wptickets_autoresponsible_assign');

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

Обработка меток WPRemark

Для правильной работы важно, чтобы метки WPRemark корректно сохранялись в метаполях тикета. Если у вас метки хранятся иначе, измените функцию получения меток.

Также можно расширить логику, добавив автоматическую установку меток на основе ключевых слов в описании тикета через WPRemark:

function wptickets_wpremark_label_by_keywords($comment_text, $comment_post_ID) {
    $keywords_map = array(
        'ошибка' => 'техническая поддержка',
        'оплата' => 'финансовый отдел',
        'доставка' => 'логистика'
    );

    foreach ($keywords_map as $keyword => $label) {
        if (stripos($comment_text, $keyword) !== false) {
            wp_add_object_terms($comment_post_ID, $label, 'wpremark_labels');
        }
    }
}
add_action('comment_post', 'wptickets_wpremark_label_by_keywords', 10, 2);

Этот код анализирует текст комментария (в нашем случае тикета) и автоматически добавляет нужные метки, которые потом используются для назначения ответственного.

Расширение функционала: распределение по приоритетам и очередям

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

Для этого можно расширить функцию присвоения так:

function wptickets_autoresponsible_assign_advanced($ticket_id) {
    $labels = get_post_meta($ticket_id, 'wpremark_labels', true);

    if (!is_array($labels)) {
        return;
    }

    $responsible_id = null;
    if (in_array('критическая ошибка', $labels)) {
        $responsible_id = 2; // Старший специалист
    } elseif (in_array('техническая поддержка', $labels)) {
        $responsible_id = 5; // Техподдержка
    } elseif (in_array('финансовый отдел', $labels)) {
        $responsible_id = 8; // Финансист
    }

    if ($responsible_id) {
        wp_update_post(array(
            'ID' => $ticket_id,
            'post_author' => $responsible_id
        ));
    }
}
add_action('wptickets_new_ticket_created', 'wptickets_autoresponsible_assign_advanced');

Такой подход позволяет задать гибкие правила распределения, которые можно подстроить под свою организацию.

Советы по отладке и тестированию

После внедрения автоматического назначения необходимо тщательно протестировать систему с разными сценариями. Проверьте:

  • Правильность добавления и чтения меток;
  • Назначение корректного ответственного;
  • Обрабатываются ли все нужные ключевые слова;
  • Корректность работы при отсутствии меток.

Для отладки удобно использовать плагины для логирования действий, например, WP Activity Log, чтобы видеть, какие изменения происходят с тикетами.

Выводы и рекомендации

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

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

Отладка ошибок оплаты и обновление статуса заказов в WooCommerce
24.06.2026
Как создать автоматический тег для тикетов в WPtickets WordPress
08.03.2026
Как создать простую классификацию тикетов в WPtickets для WordPress
22.02.2026
Удаление заблокированных тикетов в WPtickets: практическое руководство
23.05.2026
Создание распределения тикетов по агентам в WPtickets для WordPress
20.03.2026