Plugin WordPress generado con IA

Genera un plugin WordPress que sincroniza formularios con Google Sheets

Llevar envíos de formulario directos a una hoja de Google es una petición sorprendentemente común. Marketing quiere ver los leads en un spreadsheet sin entrar en WordPress. Operaciones quiere un dashboard en vivo alimentado por los datos del formulario. Y el desarrollador quiere un patrón que no rompa la UX del formulario cuando la API de Sheets vaya lenta o esté throttleada.

La forma más limpia es un plugin que escucha el hook de envío, serializa la fila y la encola para escribir en Sheets de forma asíncrona. Lo construimos con la REST API v4 de Google Sheets y una service account para que el dueño de la tienda no tenga que hacer OAuth con su cuenta, y la escritura va por WP Cron para que una llamada lenta a Sheets nunca bloquee al visitante.

5 min hasta el ZIP Sandbox 24 h WP Coding Standards

¿Por qué generarlo en vez de instalar un plugin existente?

Zapier y Make resuelven esto en 5 minutos de clics, pero arrancan en torno a 20€/mes y cada envío pasa por su infraestructura. Para una tienda con cientos de envíos al día sale caro, y los clientes sensibles a privacidad prefieren que el dato vaya de su WordPress a su Google sin intermediarios.

Uncanny Automator y plugins similares de automatización WP también lo hacen pero se licencian por sitio y cobran cuotas de por vida cuando necesitas extensibilidad. Si tu único caso es "formulario → hoja", estás comprando una navaja suiza para abrir una carta.

Un plugin generado a la medida de tu formulario y los encabezados de tu hoja son unas 150 líneas de PHP. Falla con gracia cuando Sheets está caído (cola local, reintentos), loguea errores en un sitio razonable, y nunca hace esperar al que envía por culpa de una API externa.

Prompt de ejemplo

Este es el tipo de descripción que genera este plugin. Puedes partir de aquí y ajustar lo que necesites antes de generar.

Nombre del plugin: Acme Formulario a Sheets

Origen: Gravity Forms formulario ID 3 (contacto).

Destino: Google Sheet ID "1abc...xyz", pestaña "Leads".

Autenticación: JSON de service account guardado en una opción (pegar el JSON entero en ajustes).

Mapeo:
- Columna A: timestamp del envío (ISO 8601)
- Columna B: campo "name" (input_1)
- Columna C: campo "email" (input_2)
- Columna D: campo "company" (input_3)
- Columna E: campo "message" (input_4)
- Columna F: referrer URL (de $_SERVER['HTTP_REFERER'])
- Columna G: user agent

Al submit hook gform_after_submission: encolar fila en una lista basada en transient.
Evento WP Cron cada 5 minutos lee la cola y hace append vía Sheets API v4 spreadsheets.values.append con valueInputOption=RAW.

Si hay error de API: dejar fila en cola; tras 5 reintentos fallidos (backoff 1h, 2h, 4h, 8h, 16h) email al admin con el payload.

Admin: página de ajustes con JSON service account, Sheet ID, pestaña y botón de prueba ("añadir fila dummy").

HPOS-agnóstico (no toca WC). Sin tablas en DB.

Qué suele incluir el plugin generado

  • Cliente Google API por Composer en vendor/ (o wp_remote_post directo si prefieres cero deps)
  • OAuth 2 JWT de service account cacheado en transient 50 minutos
  • Handler de envío enganchado al "after save" del plugin del formulario
  • Cola asíncrona en una opción con array de filas pendientes (volumen bajo) o tabla (volumen alto)
  • Evento WP Cron drenando la cola cada 5 minutos con escritura idempotente (hash de fila como clave)
  • Ajustes con botón de prueba para validar credenciales antes de producción
  • Aviso admin si la cola crece por encima de un umbral (señal de que la auth Sheets está rota)

Cambia Gravity Forms por Contact Form 7 / WPForms / Fluent Forms / endpoint REST propio. Cambia Google Sheets por Airtable o Notion. El patrón es el mismo, el adaptador cambia.

Preguntas frecuentes

¿El usuario espera la llamada a Google?

No. El envío devuelve al instante; la fila se encola localmente y un cron la escribe a Sheets. Así una respuesta lenta de Sheets nunca se filtra a la experiencia de usuario.

¿Y si la API de Sheets está caída?

La fila se queda en la cola local y el cron reintenta con backoff exponencial (1h, 2h, 4h, 8h, 16h). Tras 5 fallos se manda email al admin con el payload, no se pierde nada.

¿Puedo mapear varios formularios a hojas distintas?

Sí. Describe cada formulario → hoja en el prompt y la UI admin las lista. Cada mapeo tiene su propio layout de columnas.

¿Y GDPR?

Solo van a Sheets los campos que mapees. El plugin puede además quitar IP/User Agent por defecto y añadir lista de supresión para emails que hayan ejercido derecho al olvido.

¿Listo para generar tu plugin?

Crea una cuenta gratuita, verifica tu email y tu primera generación corre de nuestra cuenta.

Relacionado:Google SheetsFormulariosAutomatización