Как создать автоматический импорт данных из Google Forms в WordPress

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

Обзор задачи: почему нужен автоматический импорт из Google Forms

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

  • Экономить время и исключить ошибки при переносе данных.
  • Обновлять данные на сайте в реальном времени или с заданной периодичностью.
  • Использовать данные для автоматического создания задач, подписчиков или аналитики в WordPress.

Для автоматизации можно использовать Google Sheets, куда сохраняются ответы Google Forms, и интегрировать Sheets с WordPress.

Подготовка: подключение Google Sheets и настройка API

По умолчанию Google Forms сохраняют данные в связанную таблицу Google Sheets. Именно с нее мы будем забирать данные.

Для доступа к Google Sheets из WordPress потребуется настроить Google Sheets API:

  1. Создайте проект в Google Cloud Console.
  2. Включите Google Sheets API для проекта.
  3. Создайте учетные данные (OAuth 2.0 client ID или сервисный аккаунт) для доступа к API.
  4. Скачайте JSON-файл с ключами и сохраните в защищенном месте на сервере.

Далее в WordPress можно использовать PHP-библиотеку Google Client для работы с API.

Пример настройки подключения к Google Sheets API на PHP в WordPress

require_once __DIR__ . '/vendor/autoload.php';

function wptasks_get_google_sheets_client() {
    $client = new Google_Client();
    $client->setApplicationName('WPTasks Google Forms Import');
    $client->setScopes(Google_Service_Sheets::SPREADSHEETS_READONLY);
    $client->setAuthConfig(__DIR__ . '/credentials.json'); // путь к JSON с ключами
    $client->setAccessType('offline');
    return $client;
}

function wptasks_get_google_form_responses($spreadsheetId, $range) {
    $client = wptasks_get_google_sheets_client();
    $service = new Google_Service_Sheets($client);
    $response = $service->spreadsheets_values->get($spreadsheetId, $range);
    $values = $response->getValues();
    if (empty($values)) {
        return [];
    } else {
        return $values;
    }
}

В этом примере мы инициализируем клиент и получаем данные из указанного диапазона таблицы.

Обработка и сохранение данных в WordPress

После получения данных из Google Sheets, их нужно обработать и сохранить в нужном формате. Например, можно создавать кастомный тип записей для ответов, или создавать задачи в WPTasks.

Пример создания новых записей на основе данных:

function wptasks_import_google_form_data() {
    $spreadsheetId = 'ВАШ_ID_ТАБЛИЦЫ';
    $range = 'Form Responses 1!A2:E'; // Диапазон с ответами
    $rows = wptasks_get_google_form_responses($spreadsheetId, $range);

    foreach ($rows as $row) {
        $name = sanitize_text_field($row[1]); // например, имя
        $email = sanitize_email($row[2]);
        $message = sanitize_textarea_field($row[3]);

        // Проверим, есть ли уже запись с таким email, чтобы не дублировать
        $existing = new WP_Query([
            'post_type' => 'wptasks_form_response',
            'meta_query' => [
                [
                    'key' => 'email',
                    'value' => $email,
                    'compare' => '=',
                ]
            ]
        ]);

        if ($existing->found_posts === 0) {
            // Создаем новую запись
            $post_id = wp_insert_post([
                'post_title' => $name,
                'post_type' => 'wptasks_form_response',
                'post_status' => 'publish',
            ]);

            if ($post_id) {
                update_post_meta($post_id, 'email', $email);
                update_post_meta($post_id, 'message', $message);
            }
        }
    }
}

Для хранения данных создайте кастомный тип записи wptasks_form_response. Это позволит удобно управлять импортированными ответами внутри админки.

Автоматизация запуска импорта: WP-Cron и плагин WPTasks

Чтобы импорт происходил регулярно, настройте WP-Cron задачу, которая будет запускать функцию импорта.

Пример добавления cron задачи:

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

add_action('wptasks_google_forms_import_event', 'wptasks_import_google_form_data');

Этот код запустит импорт ответов каждый час.

Если вы используете плагин WPTasks для управления задачами, то можно автоматически создавать задачи на основе импортированных данных, например:

function wptasks_create_task_from_response($post_id) {
    $email = get_post_meta($post_id, 'email', true);
    $message = get_post_meta($post_id, 'message', true);

    if (function_exists('wptasks_create_task')) {
        wptasks_create_task([
            'title' => 'Новая заявка от ' . $email,
            'description' => $message,
            'status' => 'new',
        ]);
    }
}
add_action('save_post_wptasks_form_response', 'wptasks_create_task_from_response');

Альтернативный способ: использование плагина WP All Import и Google Sheets

Если настройка API кажется сложной, можно использовать плагин WP All Import с расширением для Google Sheets. Плагин позволяет настраивать регулярный импорт таблиц из Google Sheets в WordPress с маппингом полей.

Преимущества такого подхода:

  • Простота настройки без программирования.
  • Гибкие настройки импорта (создание записей, обновление, удаление).
  • Поддержка кастомных типов записей и полей.

Недостаток — необходимость покупки премиум-версии плагина и некоторых аддонов.

Резюме и лучшие практики

Автоматический импорт данных из Google Forms в WordPress — мощное решение для интеграции внешних форм с вашим сайтом. Выбор метода зависит от технических навыков и задач:

  • Для разработчиков — использование Google Sheets API и кастомного кода позволяет гибко настраивать обработку данных.
  • Для пользователей без навыков программирования — плагин WP All Import с Google Sheets интеграцией.

Обязательно учитывайте безопасность: храните ключи API в защищенных местах, применяйте санитизацию данных и контролируйте доступ к импортируемой информации.

Если вы используете WPTasks, интеграция с Google Forms позволит автоматически создавать задачи из собранных данных, значительно упрощая рабочие процессы.

Подробнее о плагинах и инструментах для автоматизации работы с задачами и импортом данных смотрите на WPSHOP.ru.

Как создать автоматические задачи в WordPress с помощью WP-Cron и плагинов
21.12.2025
Как создать автоматическое распределение задач в WordPress
09.02.2026
Автоматическое создание и управление подписчиками в WordPress: практические решения
09.03.2026
Как создать автоматический импорт данных из Google Forms в WordPress
17.03.2026
Как создать автоматический импорт данных из XML в WordPress
02.02.2026