Интеграция WPForms с Google Sheets позволяет автоматически сохранять данные форм в таблицах для удобного анализа и хранения. В этой статье рассмотрим, как настроить автоматическую отправку данных из WPForms в Google Sheets с помощью Google Apps Script без использования сторонних плагинов.
Почему стоит использовать Google Apps Script для интеграции WPForms и Google Sheets
Многие разработчики выбирают Google Apps Script, так как он предоставляет гибкий и бесплатный способ автоматизации работы с Google Таблицами. В отличие от сторонних плагинов, можно полностью контролировать процесс, адаптировать под свои задачи и избежать ограничений по количеству запросов.
Кроме того, такая интеграция позволяет:
- Обрабатывать данные сразу после отправки формы
- Форматировать и фильтровать данные перед записью
- Добавлять дополнительные вычисления и уведомления
Ниже разберём практический пример настройки и кода.
Настройка Google Таблицы и создание Google Apps Script
Для начала создайте новую таблицу Google Sheets, в которую будут отправляться данные. В первой строке укажите названия столбцов, соответствующие полям из формы WPForms.
Далее откройте меню Расширения > Apps Script и создайте новый скрипт. В него вставьте следующий код:
function wpformsruAddData(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист1'); // укажите имя листа
var data = e.parameter;
var row = [];
// Здесь указывайте поля вашей формы по ключам
row.push(new Date()); // дата и время отправки
row.push(data['name']); // поле Имя
row.push(data['email']); // поле Email
row.push(data['message']); // поле Сообщение
sheet.appendRow(row);
}В этом скрипте функция wpformsruAddData принимает параметры из HTTP-запроса и добавляет строку с данными в таблицу.
Обратите внимание, что ключи data['name'], data['email'] и data['message'] должны совпадать с именами полей формы WPForms.
Настройка вебхука в WordPress для отправки данных формы
WPForms позволяет отправлять данные формы на внешний URL с помощью вебхуков. Чтобы настроить отправку данных в Google Apps Script, выполните следующие шаги:
- Опубликуйте скрипт в Google Apps Script как веб-приложение: Опубликовать > Развернуть как веб-приложение.
- Выберите 'Кто имеет доступ к приложению' — 'Все, даже анонимные'.
- Скопируйте URL веб-приложения.
- В админке WordPress откройте настройки вашей формы WPForms.
- Перейдите в раздел Настройки > Вебхуки (если этого раздела нет, установите плагин WP Webhooks).
- Добавьте новый вебхук, вставьте URL скрипта Google Apps Script.
- Настройте метод отправки данных POST и укажите поля, которые нужно отправлять (name, email, message).
Пример дополнительной обработки данных на стороне WPForms
Если нужно изменить формат данных перед отправкой, можно использовать хук в functions.php вашей темы:
add_action('wpforms_process_complete', 'wpformsru_custom_webhook_data', 10, 4);
function wpformsru_custom_webhook_data($fields, $entry, $form_data, $entry_id) {
$data = [];
foreach ($fields as $field) {
$data[$field['name']] = $field['value'];
}
// Отправка данных через wp_remote_post
wp_remote_post('ВАШ_URL_СКРИПТА', [
'method' => 'POST',
'body' => $data,
]);
}Отладка и проверка работы интеграции
После настройки отправьте тестовую форму. В Google Таблице должна появиться новая строка с введёнными данными. Если данных нет — проверьте:
- Права доступа веб-приложения Google Apps Script
- Корректность URL вебхука в WPForms
- Имена полей и соответствие ключей параметров
- Логи ошибок в Google Apps Script (меню Просмотр > Журналы)
Для удобства можно добавить в скрипт обработку ошибок и уведомления по email при сбоях.
Пример расширенного кода с логированием ошибок
function wpformsruAddData(e) {
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Лист1');
var data = e.parameter;
var row = [new Date(), data['name'], data['email'], data['message']];
sheet.appendRow(row);
} catch (error) {
MailApp.sendEmail('ваш_email@example.com', 'Ошибка скрипта WPForms', error.toString());
}
}Альтернативные плагины для интеграции WPForms и Google Sheets
Если вы предпочитаете использовать готовые решения, можно обратить внимание на следующие плагины:
- WPForms Google Sheets Integration — простой плагин для отправки данных форм в таблицы Google.
- Expert Review от WPSHOP — расширенные возможности для работы и автоматизации с WPForms и другими плагинами.
Однако использование Google Apps Script даёт больше свободы и не зависит от сторонних сервисов.