Автоматический экспорт товаров WooCommerce в CSV — частая задача для владельцев интернет-магазинов. Это нужно для интеграции с бухгалтерией, маркетплейсами, аналитикой и другими сервисами. В этой статье рассмотрим, как настроить автоматический экспорт, какие плагины использовать и как написать собственный код для гибкой кастомизации.
Почему важен автоматический экспорт товаров WooCommerce в CSV
Ручной экспорт через админку WooCommerce неудобен и требует постоянного вмешательства. Автоматизация экономит время и снижает риск ошибок при выгрузке данных. Особенно актуально, если у вас большой каталог или часто меняются цены и остатки.
CSV — универсальный формат, который поддерживают большинство систем учета и маркетплейсов.
Основные задачи автоматизации:
- Регулярная синхронизация данных с внешними сервисами.
- Экспорт только измененных или новых товаров.
- Настройка формата и полей CSV под нужды интеграции.
- Уведомление о результатах выгрузки.
Плагины для автоматического экспорта WooCommerce в CSV
Среди популярных решений можно выделить такие плагины:
- WP All Export — мощный инструмент для создания кастомных экспортов любых данных WordPress, включая товары WooCommerce. Позволяет настроить расписание, фильтры и формат CSV.
- WooCommerce Customer/Order/Coupon Export
- Advanced Order Export For WooCommerce — больше ориентирован на заказы, но также позволяет выгружать товары с разными параметрами.
Для нашего примера рассмотрим WP All Export, так как он максимально гибкий и позволяет экспортировать любые метаданные товаров, включая поля из пользовательских типов и плагинов.
Пример настройки плагина с UTM-метками для сайта WPSell:
Создание собственного решения для автоматического экспорта товаров WooCommerce в CSV
Если вам нужна максимальная кастомизация или вы хотите интегрировать экспорт в собственный процесс, можно написать функцию для экспорта и запускать её по расписанию через WP-Cron.
Основные шаги:
- Получить список товаров.
- Сформировать CSV с нужными полями.
- Сохранить файл на сервере или отправить по FTP/email.
- Настроить WP-Cron для регулярного запуска.
Пример функции для экспорта товаров WooCommerce в CSV
function wpsell_export_woocommerce_products_to_csv() {
if (!class_exists('WooCommerce')) {
return;
}
$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'post_status' => 'publish',
);
$products = get_posts($args);
if (empty($products)) {
return;
}
$csv_data = [];
// Заголовок CSV
$csv_data[] = ["ID", "Название", "Цена", "Артикул", "Категории"];
foreach ($products as $product_post) {
$product = wc_get_product($product_post->ID);
$categories = wp_get_post_terms($product->get_id(), 'product_cat', array('fields' => 'names'));
$csv_data[] = [
$product->get_id(),
$product->get_name(),
$product->get_price(),
$product->get_sku(),
implode(', ', $categories),
];
}
$upload_dir = wp_upload_dir();
$file_path = $upload_dir['basedir'] . '/woocommerce-products-export.csv';
$file = fopen($file_path, 'w');
foreach ($csv_data as $row) {
fputcsv($file, $row);
}
fclose($file);
}
// Запуск экспорта по расписанию
if (!wp_next_scheduled('wpsell_woocommerce_products_export_cron')) {
wp_schedule_event(time(), 'daily', 'wpsell_woocommerce_products_export_cron');
}
add_action('wpsell_woocommerce_products_export_cron', 'wpsell_export_woocommerce_products_to_csv');Этот код создает CSV-файл с основными данными по товарам и сохраняет его в папке загрузок WordPress. Расписание настроено на ежедневный запуск. Вы можете изменить частоту и добавить отправку по email или FTP.
Добавление расширенных полей и пользовательских метаданных в CSV
Часто требуется экспортировать не только стандартные данные, но и пользовательские поля, например, размеры, цвет, или данные из плагинов.
Для этого достаточно добавить вызовы get_post_meta() внутри цикла и добавить поля в заголовок CSV.
function wpsell_export_products_with_custom_fields() {
$args = ['post_type' => 'product', 'posts_per_page' => -1, 'post_status' => 'publish'];
$products = get_posts($args);
if (empty($products)) return;
$csv_data = [];
$csv_data[] = ["ID", "Название", "Цена", "Цвет", "Размер"];
foreach ($products as $p) {
$product = wc_get_product($p->ID);
$color = get_post_meta($p->ID, 'color', true);
$size = get_post_meta($p->ID, 'size', true);
$csv_data[] = [
$product->get_id(),
$product->get_name(),
$product->get_price(),
$color,
$size,
];
}
$upload_dir = wp_upload_dir();
$file_path = $upload_dir['basedir'] . '/products-with-custom-fields.csv';
$file = fopen($file_path, 'w');
foreach ($csv_data as $row) {
fputcsv($file, $row);
}
fclose($file);
}Такой подход позволяет гибко расширять выгрузку под любые бизнес-задачи.
Как интегрировать экспорт с WP GPT для автоматизации описаний в CSV
Если вы используете WP GPT для генерации описаний товаров, можно добавить в экспорт сгенерированные тексты для последующего анализа или загрузки в маркетплейсы.
Пример добавления поля с описанием:
$description = get_post_meta($p->ID, '_wpsell_gpt_generated_description', true);Добавьте это поле в массив данных для CSV, чтобы выгружать актуальные описания вместе с другими товарами.
Резюме и рекомендации по автоматическому экспорту товаров WooCommerce
Автоматизация экспорта товаров в CSV — важный элемент эффективного управления магазином на WooCommerce. Готовые плагины, такие как WP All Export, позволяют быстро настроить выгрузку без кода. Если нужны уникальные форматы и интеграции, собственный скрипт с WP-Cron — оптимальный вариант.
Обязательно тестируйте экспорт после настройки, проверяйте корректность данных и формат CSV, чтобы избежать проблем с импортом в целевые системы.
Используйте возможности wpshop.ru для выбора и покупки качественных решений, которые помогут автоматизировать процессы вашего WooCommerce магазина.