Зачем автоматизировать отчёты о продавцах в WordPress
Владельцы сайтов с каталогами товаров или маркетплейсами, построенными на WordPress, часто сталкиваются с необходимостью регулярно получать отчёты о деятельности продавцов. Такие отчёты помогают оценивать эффективность, контролировать продажи и принимать бизнес-решения. Вручную формировать эти отчёты неудобно и трудозатратно, особенно при большом количестве продавцов и заказов.
Автоматизация позволяет сэкономить время, снизить человеческий фактор, а также интегрировать данные с другими бизнес-процессами. В этой статье мы рассмотрим, как на практике реализовать автоматическое формирование отчётов о продавцах в WordPress, используя кастомные запросы к базе данных, создание пользовательских шорткодов и интеграцию с плагинами.
Создание кастомного запроса для сбора данных о продавцах
В первую очередь нужно получить необходимые данные. Предположим, что на сайте используется WooCommerce, а продавцы — это пользователи с определённой ролью (например, 'seller'). Нам нужны продажи, совершённые каждым продавцом, и суммарная выручка.
Для этого можно использовать WP_Query и SQL-запросы к таблицам WooCommerce. Пример функции, которая собирает данные по продажам:
function wpbusiness_get_sellers_report_data() {
global $wpdb;
$seller_role = 'seller';
// Получаем всех пользователей с ролью продавца
$sellers = get_users(array('role' => $seller_role));
$report = array();
foreach ($sellers as $seller) {
// Запрос к базе для подсчёта заказов и суммы продаж
$orders_count = $wpdb->get_var($wpdb->prepare(
"SELECT COUNT(DISTINCT p.ID) FROM {$wpdb->prefix}posts p
INNER JOIN {$wpdb->prefix}woocommerce_order_items oi ON p.ID = oi.order_id
INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta oim ON oi.order_item_id = oim.order_item_id
WHERE p.post_type = 'shop_order'
AND p.post_status IN ('wc-completed','wc-processing')
AND oim.meta_key = '_seller_id' AND oim.meta_value = %d",
$seller->ID
));
$total_sales = $wpdb->get_var($wpdb->prepare(
"SELECT SUM(meta_value) FROM {$wpdb->prefix}postmeta pm
INNER JOIN {$wpdb->prefix}posts p ON pm.post_id = p.ID
WHERE p.post_type = 'shop_order'
AND p.post_status IN ('wc-completed','wc-processing')
AND pm.meta_key = '_order_total'
AND p.ID IN (
SELECT DISTINCT order_id FROM {$wpdb->prefix}woocommerce_order_itemmeta
WHERE meta_key = '_seller_id' AND meta_value = %d
)",
$seller->ID
));
$report[] = array(
'seller_id' => $seller->ID,
'seller_name' => $seller->display_name,
'orders_count' => (int) $orders_count,
'total_sales' => (float) $total_sales
);
}
return $report;
}В этом коде мы делаем выборку по заказам, связанным мета-ключом _seller_id с каждым продавцом. Для работы такого решения нужно, чтобы у заказов была сохранена информация о продавце через мета-данные. Если у вас другой способ связи, запросы потребуется адаптировать.
Создание шорткода для вывода отчёта продавцов на страницу
Чтобы вывести отчёт на странице сайта, удобно использовать шорткод. Ниже пример реализации шорткода [wpbusiness_sellers_report], который выводит таблицу с отчётом.
function wpbusiness_sellers_report_shortcode() {
$report = wpbusiness_get_sellers_report_data();
if (empty($report)) {
return '<p>Отчёты о продавцах недоступны.</p>';
}
$output = '<table border="1" cellpadding="8" cellspacing="0">';
$output .= '<thead><tr><th>Продавец</th><th>Количество заказов</th><th>Сумма продаж</th></tr></thead>';
$output .= '<tbody>';
foreach ($report as $row) {
$output .= '<tr>';
$output .= '<td>' . esc_html($row['seller_name']) . '</td>';
$output .= '<td>' . intval($row['orders_count']) . '</td>';
$output .= '<td>' . number_format($row['total_sales'], 2, ',', ' ') . ' ₽</td>';
$output .= '</tr>';
}
$output .= '</tbody></table>';
return $output;
}
add_shortcode('wpbusiness_sellers_report', 'wpbusiness_sellers_report_shortcode');Добавьте этот код в файл functions.php вашей темы или создайте маленький плагин. После этого на любой странице можно вывести отчёт с помощью шорткода [wpbusiness_sellers_report].
Использование плагина Clearfy Pro для расширения возможностей отчётов
Для бизнес-сайтов на WordPress, таких как wpbusiness.ru, полезно использовать специализированные плагины, например, Clearfy Pro. Этот плагин не только оптимизирует сайт, но и расширяет функционал управления данными, включая инструменты для отчётов и улучшенного анализа.
Clearfy Pro позволяет создавать собственные панели с метриками и интегрируется с популярными плагинами WooCommerce. Вы можете настроить автоматическую генерацию отчётов и их выгрузку в удобном формате, что значительно упрощает работу с большим количеством продавцов и заказов.
Для интеграции с вашим кастомным кодом можно использовать хуки и фильтры Clearfy Pro, расширяя возможности сбора и отображения данных, а также автоматизируя задачи по планированию отчётов.
Автоматизация отправки отчётов по email с WP Cron
Очень удобно, чтобы отчёты автоматически отправлялись на почту менеджерам или продавцам. Для этого можно использовать планировщик задач WP Cron. В примере ниже показано, как настроить ежедневную отправку отчёта о продажах.
function wpbusiness_send_daily_sellers_report() {
$report = wpbusiness_get_sellers_report_data();
if (empty($report)) {
return;
}
$message = "Отчёт по продавцам за сегодня:\n\n";
foreach ($report as $row) {
$message .= sprintf("Продавец: %s, Заказы: %d, Сумма: %.2f ₽\n",
$row['seller_name'],
$row['orders_count'],
$row['total_sales']
);
}
wp_mail('manager@yourdomain.com', 'Ежедневный отчёт о продажах', $message);
}
// Регистрируем событие при активации плагина или темы
if (!wp_next_scheduled('wpbusiness_daily_report_event')) {
wp_schedule_event(time(), 'daily', 'wpbusiness_daily_report_event');
}
add_action('wpbusiness_daily_report_event', 'wpbusiness_send_daily_sellers_report');Этот код создаёт задачу, которая будет запускаться раз в сутки и отправлять отчёт на указанный email. Вы можете расширить функционал, добавив поддержку HTML-писем, вложений и индивидуальную рассылку продавцам.
Выводы и рекомендации по автоматизации отчётов
Автоматизация формирования и отправки отчётов о продавцах в WordPress — задача вполне решаемая с помощью кастомных функций и шорткодов. Для повышения надёжности и расширения функционала рекомендуем использовать проверенные плагины, например, Clearfy Pro.
При реализации важно учитывать особенности структуры вашего сайта, способы хранения данных о продавцах и заказах, а также требования к форматам и частоте отчётов. Комбинирование кастомного кода и готовых решений позволит создать эффективный инструмент для бизнес-аналитики.