wpconsult.ru wordpress WP Consult

Как создать уникальный плагин для автоматизации отчетности в WordPress

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

Почему автоматизация отчетности важна для WordPress-сайтов

Ручной сбор данных и составление отчетов занимает много времени и часто приводит к ошибкам. Автоматизация позволяет:

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

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

Основная структура плагина для автоматизации отчетности

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

Создание файла плагина и регистрация меню

Создайте в папке wp-content/plugins папку wpconsult-report-automation, а в ней файл wpconsult-report-automation.php. Вставьте в него следующий код:

<?php
/*
Plugin Name: WPConsult Report Automation
Description: Плагин для автоматизации создания отчетов в WordPress
Version: 1.0
Author: WPConsult
*/

// Регистрация меню в админке
add_action('admin_menu', 'wpconsult_report_automation_admin_menu');

function wpconsult_report_automation_admin_menu() {
    add_menu_page(
        'Автоматизация отчетов',
        'Отчеты',
        'manage_options',
        'wpconsult-report-automation',
        'wpconsult_report_automation_page',
        'dashicons-chart-bar',
        6
    );
}

function wpconsult_report_automation_page() {
    echo '<h1>Автоматизация отчетности</h1>';
    // Здесь будет вывод интерфейса плагина
}
?>

Этот код создаст в админ-панели новый пункт «Отчеты» с иконкой и базовой страницей.

Подключение к базе данных для сбора данных

Для сбора данных мы будем использовать стандартный объект $wpdb WordPress. Например, чтобы получить количество опубликованных записей по месяцам, используем следующий запрос:

function wpconsult_report_automation_get_posts_per_month() {
    global $wpdb;
    $query = "SELECT YEAR(post_date) as year, MONTH(post_date) as month, COUNT(ID) as count 
              FROM $wpdb->posts 
              WHERE post_type = 'post' AND post_status = 'publish' 
              GROUP BY YEAR(post_date), MONTH(post_date)";
    return $wpdb->get_results($query);
}

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

Пример создания отчета с графиком на странице плагина

Давайте сделаем простой отчет с использованием Google Charts для визуализации данных.

Вывод данных и подключение Google Charts

В функции wpconsult_report_automation_page() добавьте следующий код:

function wpconsult_report_automation_page() {
    $data = wpconsult_report_automation_get_posts_per_month();
    
    echo '<h1>Отчет: Количество опубликованных записей по месяцам</h1>';
    
    // Подключаем Google Charts
    echo '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>';
    echo '<script type="text/javascript">
        google.charts.load("current", {packages:["corechart"]});
        google.charts.setOnLoadCallback(drawChart);
        function drawChart() {
            var data = google.visualization.arrayToDataTable([
                ["Месяц", "Посты"],';

    foreach($data as $row) {
        $monthName = date('F', mktime(0, 0, 0, $row->month, 10));
        echo "['$monthName $row->year', $row->count],";
    }

    echo ']);

            var options = {title: "Публикации по месяцам", legend: { position: "bottom"}};
            var chart = new google.visualization.ColumnChart(document.getElementById("chart_div"));
            chart.draw(data, options);
        }
    </script>';

    echo '<div id="chart_div" style="width: 100%; height: 500px;"></div>';
}

Этот код сформирует столбчатую диаграмму с количеством постов по месяцам.

Расширение плагина: автоматическая отправка отчетов по email

Хорошей практикой является отправка отчетов на email автоматически, например, в начале каждого месяца.

Использование WP-Cron для планирования задач

Для этого зарегистрируем задачу WP-Cron, которая будет генерировать отчет и отправлять его на указанный email.

register_activation_hook(__FILE__, 'wpconsult_report_automation_activate');
register_deactivation_hook(__FILE__, 'wpconsult_report_automation_deactivate');

function wpconsult_report_automation_activate() {
    if (!wp_next_scheduled('wpconsult_send_monthly_report')) {
        wp_schedule_event(strtotime('first day of next month 00:00:00'), 'monthly', 'wpconsult_send_monthly_report');
    }
}

function wpconsult_report_automation_deactivate() {
    wp_clear_scheduled_hook('wpconsult_send_monthly_report');
}

add_action('wpconsult_send_monthly_report', 'wpconsult_report_automation_send_email_report');

function wpconsult_report_automation_send_email_report() {
    $to = get_option('admin_email');
    $subject = 'Ежемесячный отчет сайта';
    $body = wpconsult_report_automation_generate_report_html();
    $headers = array('Content-Type: text/html; charset=UTF-8');

    wp_mail($to, $subject, $body, $headers);
}

function wpconsult_report_automation_generate_report_html() {
    $data = wpconsult_report_automation_get_posts_per_month();
    $html = '<h2>Отчет публикаций</h2><table border="1" cellpadding="5"><tr><th>Год</th><th>Месяц</th><th>Количество</th></tr>';
    foreach($data as $row) {
        $html .= "<tr><td>{$row->year}</td><td>{$row->month}</td><td>{$row->count}</td></tr>";
    }
    $html .= '</table>';
    return $html;
}

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

Использование плагинов WPShop для расширения функционала

Для более сложных задач можно интегрировать плагин с WPRemark для модерации комментариев или WPCommunity для учета активности пользователей. Также можно использовать WPConsult для интеграции с CRM и расширенных отчетов по продажам.

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

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

Итоговые рекомендации по созданию плагина отчетности

Создание собственного плагина для отчетности — отличный способ адаптировать функционал под конкретные задачи. Используйте возможности WP-Cron для автоматизации, Google Charts или другие JS-библиотеки для визуализации, а также интегрируйте решения из экосистемы WPShop для расширения возможностей.

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее