В системах онлайн-обучения, таких как LearnPress, важным аспектом является регулярный анализ активности учеников, успеваемости и прогресса по курсам. Автоматические отчёты помогают администраторам и преподавателям своевременно получать необходимые данные без лишних усилий. В этой статье мы подробно разберём, как настроить автоматическую генерацию отчётов в LearnPress, используя плагин WPRemark, а также приведём примеры кода для расширения функционала.
Почему автоматические отчёты важны для LearnPress
Ручной сбор данных о прогрессе и активности учеников занимает много времени и часто приводит к ошибкам. Автоматизация процесса позволяет:
- Экономить время администраторов и преподавателей;
- Получать актуальную информацию в удобном формате;
- Быстро выявлять проблемные участки и учеников, которым нужна помощь;
- Анализировать эффективность курсов и содержание уроков.
WPRemark — мощный инструмент для создания кастомных виджетов и отчётов в LearnPress, который позволяет легко настроить автоматическую отправку данных по расписанию.
Установка и базовая настройка WPRemark для отчётов LearnPress
Для начала установим и активируем плагин WPRemark. Делается это стандартным способом через админ-панель WordPress: Плагины → Добавить новый → Поиск по названию WPRemark → Установить → Активировать.
После установки перейдите в раздел WPRemark → Настройки → Отчёты, где можно задать параметры формирования отчётов:
- Выбор курсов и учеников;
- Типы данных для отчёта (прогресс, результаты тестов, активность);
- Формат отчёта (CSV, Excel, PDF);
- Расписание автоматической генерации и отправки по email.
Для LearnPress уже есть встроенные шаблоны отчётов, которые можно использовать или адаптировать под свои задачи.
Пример настройки расписания отправки отчётов
Чтобы отчёты отправлялись автоматически, WPRemark использует WP Cron. В настройках можно выбрать частоту — ежедневно, еженедельно или по своему расписанию.
Пример кода для добавления кастомного расписания (например, каждые 2 дня):
add_filter('cron_schedules', 'learnpress_add_custom_cron_schedule');
function learnpress_add_custom_cron_schedule($schedules) {
$schedules['every_two_days'] = [
'interval' => 172800, // 2 дня в секундах
'display' => 'Каждые 2 дня'
];
return $schedules;
}
Далее в настройках WPRemark можно выбрать этот интервал для автоматической отправки отчётов.
Создание кастомного отчёта LearnPress с помощью WPRemark
Иногда стандартных отчётов недостаточно, и требуется собрать специфические данные. WPRemark позволяет написать собственный PHP-код для формирования отчётов.
Рассмотрим пример создания отчёта с информацией о времени, проведённом каждым учеником на уроках курса.
Получение данных о времени на уроках LearnPress
LearnPress хранит данные о прогрессе и активности в пользовательских мета-полях и таблицах. Для доступа можно использовать WP_Query и функции LearnPress API.
function learnpress_ru_generate_time_spent_report() {
$users = get_users(['role' => 'lp_student']);
$report = [];
foreach ($users as $user) {
$user_id = $user->ID;
$courses = learnpress_get_user_courses($user_id);
$total_time = 0;
foreach ($courses as $course_id) {
$time_spent = get_user_meta($user_id, '_lp_time_spent_' . $course_id, true);
$total_time += intval($time_spent);
}
$report[] = [
'user_id' => $user_id,
'user_login' => $user->user_login,
'total_time_spent' => $total_time
];
}
return $report;
}
Эта функция собирает общее время, потраченное каждым учеником на все курсы, используя пользовательские мета-поля.
Интеграция с WPRemark для вывода отчёта
Далее можно подключить этот отчёт к WPRemark, добавив его в список доступных отчётов:
add_filter('wpremark_custom_reports', 'learnpress_ru_register_custom_report');
function learnpress_ru_register_custom_report($reports) {
$reports['time_spent'] = [
'title' => 'Время, проведённое на уроках',
'callback' => 'learnpress_ru_generate_time_spent_report'
];
return $reports;
}
Теперь в интерфейсе WPRemark появится новая опция для генерации этого отчёта с возможностью экспорта и отправки по email.
Советы по оптимизации и безопасности при работе с отчётами LearnPress
При создании автоматических отчётов важно учитывать нагрузку на сервер и безопасность данных:
- Не запускайте создание тяжёлых отчётов в пиковые часы посещаемости сайта;
- Используйте WP Cron с интервалами не чаще одного раза в час, если отчёты большие;
- Проверяйте права доступа — отчёты должны быть доступны только администраторам и преподавателям;
- Для отправки отчётов используйте SMTP через плагин, например, Clearfy Pro для надёжной доставки;
- При работе с пользовательскими данными соблюдайте требования GDPR и локального законодательства.
Выводы и рекомендации
Настройка автоматических отчётов в LearnPress с помощью WPRemark значительно упрощает управление обучающей платформой. Комбинируя встроенные возможности с кастомными решениями, вы сможете получать максимально релевантные данные для анализа и принятия решений.
Используйте приведённые примеры кода как основу для своих уникальных отчётов и не забывайте оптимизировать задачи по расписанию, чтобы сохранить производительность сайта.