Автоматический экспорт заказов WordPress в Google Sheets

Часто возникает необходимость автоматизировать экспорт заказов из WordPress, чтобы анализировать данные в удобном табличном формате, например, в Google Sheets. Это особенно актуально для интернет-магазинов, которые хотят получить быстрый доступ к информации о заказах без использования сложных CRM-систем.

Почему стоит использовать Google Sheets для экспорта заказов WordPress

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

  • Сократить время на ручной ввод и обработку данных;
  • Обеспечить актуальность данных для всех сотрудников;
  • Использовать мощные функции Google Sheets для анализа заказов;
  • Интегрировать данные с другими сервисами через Google Apps Script.

Подготовка к автоматическому экспорту заказов WordPress

Для реализации автоматического экспорта понадобится:

  • Доступ к Google API и создание проекта в Google Cloud Platform;
  • Включение Google Sheets API в консоли;
  • Создание учетных данных (OAuth 2.0 client ID или сервисный аккаунт) для доступа к Google Sheets с помощью кода;
  • Создание Google Sheets документа, куда будут записываться заказы;
  • Доступ к WordPress с правами администратора и возможность добавлять кастомный PHP-код (например, через плагин Code Snippets или в functions.php вашей темы).

Настройка Google API

После создания проекта в Google Cloud Platform включите Google Sheets API и скачайте JSON-файл с ключами сервисного аккаунта. Этот файл понадобится для аутентификации вашего PHP-скрипта.

Далее в Google Sheets создайте новую таблицу и предоставьте сервисному аккаунту права на редактирование, используя email из JSON-файла.

Пример PHP-кода для экспорта заказов WordPress в Google Sheets

Ниже приведен пример функции wporder_export_orders_to_gsheets(), которая собирает заказы WooCommerce и отправляет их в Google Sheets с помощью Google API Client для PHP.

require_once __DIR__ . '/vendor/autoload.php'; // Подключаем Google Client, установите через Composer

function wporder_export_orders_to_gsheets() {
    // Путь к JSON с учетными данными сервисного аккаунта
    $credentialsPath = __DIR__ . '/credentials.json';

    // ID Google Sheets документа
    $spreadsheetId = 'ВАШ_ID_ТАБЛИЦЫ';

    // Создаем клиент
    $client = new Google_Client();
    $client->setApplicationName('WPOrder Export');
    $client->setScopes([Google_Service_Sheets::SPREADSHEETS]);
    $client->setAuthConfig($credentialsPath);
    $service = new Google_Service_Sheets($client);

    // Получаем заказы WooCommerce
    $args = [
        'limit' => 20, // Кол-во заказов для экспорта
        'orderby' => 'date',
        'order' => 'DESC',
        'return' => 'objects',
    ];
    $orders = wc_get_orders($args);

    // Формируем данные для таблицы
    $values = [['ID', 'Дата', 'Статус', 'Сумма', 'Клиент', 'Email']];
    foreach ($orders as $order) {
        $values[] = [
            $order->get_id(),
            $order->get_date_created()->date('Y-m-d H:i'),
            $order->get_status(),
            $order->get_total(),
            $order->get_billing_first_name() . ' ' . $order->get_billing_last_name(),
            $order->get_billing_email(),
        ];
    }

    $body = new Google_Service_Sheets_ValueRange([
        'values' => $values
    ]);

    $params = [
        'valueInputOption' => 'RAW'
    ];

    // Записываем данные в таблицу, начиная с A1
    $result = $service->spreadsheets_values->update($spreadsheetId, 'A1', $body, $params);

    if ($result->getUpdatedCells() > 0) {
        error_log('WPOrder: Экспорт заказов в Google Sheets успешно выполнен.');
    } else {
        error_log('WPOrder: Ошибка при экспорте заказов в Google Sheets.');
    }
}

// Пример вызова функции по крону или вручную
// wporder_export_orders_to_gsheets();

Автоматизация экспорта заказов через WP-Cron

Чтобы экспорт происходил регулярно, удобно настроить задачу WP-Cron. В functions.php добавьте регистрацию события и обработчика:

function wporder_schedule_export() {
    if (!wp_next_scheduled('wporder_export_orders_event')) {
        wp_schedule_event(time(), 'hourly', 'wporder_export_orders_event');
    }
}
add_action('wp', 'wporder_schedule_export');

add_action('wporder_export_orders_event', 'wporder_export_orders_to_gsheets');

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

Дополнительные советы и плагины для автоматизации заказов

Если вы предпочитаете готовые решения, обратите внимание на плагины, которые помогают интегрировать WooCommerce с Google Sheets без кода:

  • WPRemark — плагин для автоматизации работы с заказами и отзывами, может быть настроен на выгрузку данных;
  • Плагин Google Sheets Integration, который упрощает связь между WooCommerce и таблицами Google;
  • Использование сервисов автоматизации, например Zapier или Integromat, для интеграции без программирования.

Обработка ошибок и отладка экспорта

При работе с Google API важно корректно обрабатывать ошибки:

  • Проверьте права доступа сервисного аккаунта к таблице Google Sheets;
  • Обрабатывайте исключения Google_Client и Google_Service_Sheets в PHP;
  • Используйте логирование для диагностики, например, error_log или специализированные плагины;
  • Убедитесь, что cron-задачи WP-Cron действительно выполняются (можно использовать плагин WP Crontrol для их просмотра и запуска вручную).

Пример обработки исключений в функции экспорта

try {
    $result = $service->spreadsheets_values->update($spreadsheetId, 'A1', $body, $params);
} catch (Exception $e) {
    error_log('WPOrder: Ошибка Google Sheets API: ' . $e->getMessage());
}

Заключение по автоматическому экспорту заказов

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

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

WooCommerce: автоматическое возврат денежных средств по заказу с примерами кода
27.05.2026
Как добавить и автоматизировать собственные статусы заказов в WooCommerce
30.03.2026
WooCommerce: автоматическое удаление заказов по неоплаченному статусу
17.05.2026
Как создать собственный шорткод с переходом между страницами в WordPress
23.11.2025
Автоматическое создание отчёта по просмотрам и активности пользователей в WordPress
03.01.2026