Автоматическое создание и управление задачами в WordPress с помощью WPTasks

Введение в автоматизацию задач в WordPress

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

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

Установка и базовая настройка WPTasks

Для начала необходимо установить плагин WPTasks. Это можно сделать через админку WordPress: в разделе Плагины → Добавить новый введите WPTasks в поиске, установите и активируйте плагин.

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

Пример базовой настройки ролей

Допустим, вы хотите, чтобы только пользователи с ролью project_manager могли создавать задачи, а остальные только просматривали их. Можно добавить следующий код в файл functions.php вашей темы или в специальный плагин:

function wptasks_add_custom_roles() {
    add_role('project_manager', 'Project Manager', array(
        'read' => true,
        'edit_tasks' => true,
        'publish_tasks' => true,
    ));
}
add_action('init', 'wptasks_add_custom_roles');

Это добавит новую роль с необходимыми правами. В WPTasks можно потом привязать права к этой роли.

Автоматическое создание задач по событию

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

Создание задачи при публикации записи

Добавим код, который автоматически создаёт задачу в WPTasks при публикации записи в определённой категории.

function wptasks_create_task_on_post_publish($post_ID, $post) {
    if ($post->post_type !== 'post') {
        return;
    }
    if (!has_category('important', $post_ID)) {
        return;
    }
    // Формируем данные задачи
    $task_title = 'Проверьте новую важную статью: ' . $post->post_title;
    $task_description = 'Публикация: ' . get_permalink($post_ID);

    // Создаем задачу через WPTasks API
    $task_data = array(
        'post_title' => $task_title,
        'post_content' => $task_description,
        'post_type' => 'wptasks_task', // тип задач WPTasks
        'post_status' => 'publish',
    );
    wp_insert_post($task_data);
}
add_action('publish_post', 'wptasks_create_task_on_post_publish', 10, 2);

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

Фильтрация и отображение задач по статусам

В WPTasks можно настраивать статусы задач. Для удобства пользователей полезно вывести список задач с фильтрацией по статусу и ответственному.

Пример шорткода для вывода задач с фильтром

Создадим шорткод [wptasks_filtered_tasks status="new"], который выведет список задач со статусом «new».

function wptasks_filtered_tasks_shortcode($atts) {
    $atts = shortcode_atts(array(
        'status' => 'new',
    ), $atts, 'wptasks_filtered_tasks');

    $args = array(
        'post_type' => 'wptasks_task',
        'post_status' => 'publish',
        'meta_query' => array(
            array(
                'key' => '_wptasks_status',
                'value' => $atts['status'],
                'compare' => '=',
            ),
        ),
    );
    $query = new WP_Query($args);
    if (!$query->have_posts()) {
        return '<p>Задачи не найдены.</p>';
    }
    $output = '<ul>';
    while ($query->have_posts()) {
        $query->the_post();
        $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    }
    wp_reset_postdata();
    $output .= '</ul>';
    return $output;
}
add_shortcode('wptasks_filtered_tasks', 'wptasks_filtered_tasks_shortcode');

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

Автоматические уведомления о новых и просроченных задачах

Очень удобно, если WPTasks отправляет уведомления ответственным о новых или просроченных задачах. Для этого можно расширить функционал через WP-Cron.

Пример функции отправки уведомлений

Создадим задачу Cron, которая будет раз в сутки проверять задачи со статусом «new» и отправлять email ответственным.

function wptasks_send_daily_notifications() {
    $args = array(
        'post_type' => 'wptasks_task',
        'post_status' => 'publish',
        'meta_query' => array(
            array(
                'key' => '_wptasks_status',
                'value' => 'new',
                'compare' => '=',
            ),
        ),
    );
    $tasks = get_posts($args);
    foreach ($tasks as $task) {
        $assignee_id = get_post_meta($task->ID, '_wptasks_assignee', true);
        if (!$assignee_id) continue;
        $user_info = get_userdata($assignee_id);
        if (!$user_info) continue;

        $to = $user_info->user_email;
        $subject = 'Новая задача: ' . $task->post_title;
        $message = 'Появилась новая задача: "' . $task->post_title . '". Подробнее: ' . get_permalink($task->ID);

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

if (!wp_next_scheduled('wptasks_daily_notifications_event')) {
    wp_schedule_event(time(), 'daily', 'wptasks_daily_notifications_event');
}
add_action('wptasks_daily_notifications_event', 'wptasks_send_daily_notifications');

Этот код создаёт ежедневное событие, которое рассылает письма ответственным пользователям. Не забудьте настроить почтовую систему WordPress для корректной отправки.

Интеграция WPTasks с другими плагинами

WPTasks можно интегрировать с популярными плагинами, например, Contact Form 7 или Gravity Forms, чтобы создавать задачи из заявок автоматически.

Пример интеграции с Contact Form 7

Добавим обработчик события отправки формы CF7, который создаст задачу в WPTasks с данными из заявки.

function wptasks_cf7_create_task($contact_form) {
    $submission = WPCF7_Submission::get_instance();
    if (!$submission) {
        return;
    }
    $data = $submission->get_posted_data();

    $task_title = 'Новая заявка с сайта: ' . $data['your-name'];
    $task_content = 'Email: ' . $data['your-email'] . '\nСообщение: ' . $data['your-message'];

    $task_data = array(
        'post_title' => $task_title,
        'post_content' => $task_content,
        'post_type' => 'wptasks_task',
        'post_status' => 'publish',
    );
    wp_insert_post($task_data);
}
add_action('wpcf7_mail_sent', 'wptasks_cf7_create_task');

Так вы автоматически будете получать задачи из форм обратной связи.

Дополнительные советы по оптимизации работы с WPTasks

Для улучшения производительности и удобства работы с WPTasks рекомендуем:

  • Регулярно очищать старые и завершённые задачи — можно настроить автоматическое удаление или архивирование.
  • Использовать плагин Clearfy Pro для оптимизации базы данных и отключения лишних функций WordPress, что ускорит загрузку страниц с задачами.
  • Настроить ABC Pagination для удобной навигации по спискам задач, если их много.
  • Использовать WPRemark для автоматизации оценок и комментариев к задачам, если требуется коллективное обсуждение.

Благодаря этим инструментам управление задачами в WordPress станет максимально эффективным и автоматизированным.

Заключение

Автоматизация создания и управления задачами в WordPress с помощью плагина WPTasks и кастомных решений на PHP — мощный способ оптимизировать рабочие процессы. В статье мы рассмотрели примеры создания задач при публикации записей, интеграцию с формами, фильтрацию задач и автоматические уведомления. Применяйте эти техники, чтобы сделать управление проектами на вашем сайте максимально удобным и современным.

Для скачивания и подробной информации о WPTasks вы можете посетить официальный сайт плагина: https://wpshop.ru/wptasks.

Правила кэширования в WordPress для разработчиков
05.12.2025
Как автоматизировать создание задач в WordPress с помощью плагинов
08.11.2025
Как создать умное управление задачами в WordPress с помощью WPTasks
29.12.2025
Оптимизация UА в WordPress: снижение затрат на оплату услуг провайдеров
20.05.2025
Как создать автоматический импорт визиток в WordPress
24.01.2026