Connexion Drive Excel Product releases
WordPress plugin to connect Google Drive, select Excel files, map columns (SKU, price, quantity), and mass update WooCommerce products.
by franciscoblancojn · github.com/franciscoblancojn/connexion-drive-exel-product · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/franciscoblancojn/connexion-drive-exel-product/archive/refs/heads/master.zipVersion: 1.3.12 | License: GPL2+
Conecta Google Drive, selecciona archivos Excel/CSV/Google Sheets, mapea columnas a 16 campos de producto y actualiza productos WooCommerce de forma masiva. Incluye generación de contenido con IA (Kodee/Gemini/Groq), asignación condicional de marca/categoría/atributos, edición manual por fila, cálculos matemáticos con variables de columna, exportación/importación de configuración, selección de formato decimal y delimitador CSV configurable.
✨ Caracteristicas
- 🤖 Generación con IA — Genera nombres, descripciones cortas y descripciones largas mediante Kodee/Gemini/Groq API, con carga por lote uno-por-uno y barra de progreso. Incluye prompt extra por campo con resolución de variables y contexto de marca.
- 🔌 Conexion Google Drive — Autenticacion OAuth 2.0 con refresh token y renovacion automatica.
- 📂 Explorador de Archivos — Navega carpetas de Drive, soporta Excel (.xlsx, .xls), Google Sheets y CSV.
- 🗺️ Mapeo de Columnas — Detecta automaticamente columnas SKU, precio, precio oferta y cantidad. Mapeo separado para actualizar existentes (6 campos: precio, oferta, stock, descripción, desc. corta, nombre) y crear nuevos (16 campos).
- 🎨 Templates Personalizados — Crea nombres y descripciones combinando texto fijo con variables de columna y configuracion (ej:
"Reloj {marca} {name}"). - 🧮 Cálculos Matemáticos — Expresiones con
{columna}, operadores y números:{precio} * 1.19para precio + IVA,{cantidad} * {precio}para totales. Disponible en actualización y creación. - ✏️ Edición Manual — Edita valores directamente en la tabla de preview por fila, disponible tanto en actualización (5 campos) como en creación (16 campos + marca, categoría, atributos). Modo automático cuando la celda está vacía.
- 🏷️ Asignación Condicional — Marca, categoría y atributos con condiciones lógicas por fila: operadores
=,!=,<,>y múltiples condiciones por regla (primera coincidencia gana). - 📂 Categorías Múltiples — Asigna varias categorías a productos nuevos, tanto en configuración de creación como por fila en la tabla de preview.
- 👁️ Vista Previa — Validacion con diffs (antes/despues), imagenes, badges de estado. Resultados en tabs independientes por tipo. Vista previa de categorías y atributos evaluados.
- ⚡ Actualizacion Masiva — Procesa en lotes de 25 con barra de progreso. Actualiza existentes y crea nuevos productos simultaneamente.
- 🎯 Actualizacion Individual — Boton "Procesar" por fila para actualizar un solo producto.
- 🔗 Enlace a Edicion — SKUs y nombres existentes abren el editor de WooCommerce en nueva pestana.
- 💾 Exportar/Importar Configuración — Exporta mapeo, edición manual, datos IA y estado como JSON para usar en otro navegador o sesión.
- 🌐 Formato Decimal — Selecciona coma (formato Latino) o punto (formato US) para interpretación de números.
- 📄 Delimitador CSV — Auto-detectar, coma, punto y coma o tabulación como delimitador de columnas.
- 🛡️ Seguridad — Nonces, capabilities
manage_options, sanitizacion de inputs, escapado de outputs.
📋 Requisitos
- WordPress 5.0+
- PHP 7.0+
- WooCommerce 4.0+
- Google Cloud Platform project con Google Drive API habilitada
- PhpSpreadsheet (via Composer)
⚙️ Instalacion
- Descarga el plugin desde GitHub.
- Sube la carpeta
connexion-drive-exel-producta/wp-content/plugins/. - Ejecuta
composer install --no-dev --optimize-autoloaderdentro del plugin. - Activa el plugin desde Plugins de WordPress.
- Ve a Drive Excel Product > Conectar e ingresa tus credenciales OAuth 2.0 de Google Cloud.
🗂️ Estructura del Plugin
connexion-drive-exel-product/
index.php # Plugin header, constantes, auto-updater
composer.json # Dependencias Composer
package.json # Scripts de release/versionado
libs/ # Dependencias (Composer vendor renombrado)
src/
_.php # Cargador maestro
api/
_.php # Cargador de API
drive.php # CDEP_DRIVE - OAuth Google Drive, CRUD archivos
excel.php # CDEP_EXCEL - Parseo Excel/CSV con PhpSpreadsheet
products.php # CDEP_PRODUCTS - Validacion y actualizacion WooCommerce
css/
admin.css # Estilos admin (cdep-* clases)
data/
_.php # Cargador de data
base.php # CDEP_USE_DATA_BASE - CRUD generico wp_options
js/
admin.js # Frontend JS: OAuth, file browser, mapping, update
page/
_.php # Cargador de page
add.php # Registro menu + enqueue assets
sections/
connect.php # Config OAuth + estado conexion
browse.php # Explorador de archivos Google Drive
mapping.php # Mapeo de columnas y campos del producto
update.php # (Legacy) Ejecucion de actualizacion masiva
ia.php # Configuraciones IA (Kodee/Gemini/Groq)
🧠 Clases Principales
| Clase | Archivo | Funcion |
|---|---|---|
CDEP_DRIVE |
src/api/drive.php |
Autenticacion OAuth, gestion de tokens, listado/descarga/exportacion de archivos |
CDEP_EXCEL |
src/api/excel.php |
Parseo de Excel (.xlsx, .xls) y CSV con PhpSpreadsheet |
CDEP_PRODUCTS |
src/api/products.php |
Validacion de mapeo y actualizacion masiva/individual de productos |
CDEP_USE_DATA_BASE |
src/data/base.php |
CRUD generico para wp_options (no instanciado directamente) |
🖥️ Paginas del Admin
| Tab | Descripcion |
|---|---|
| 🔌 Conectar | Configuracion de credenciales OAuth 2.0, conectar/desconectar Google Drive |
| 📂 Explorar | Navegacion por carpetas de Drive y seleccion de archivo |
| 🗺️ Mapear | Seleccion de fila de encabezados, mapeo de columnas (actualizar existentes / crear nuevos), configuracion de creacion (marca, categoría, atributos), condiciones lógicas por fila, templates personalizados, generación con IA, vista previa con diffs, formato decimal, delimitador CSV, exportar/importar configuración |
| 🤖 Configuraciones IA | Habilitar/deshabilitar IA, seleccionar proveedor (Kodee, Gemini, Groq) |
🔌 AJAX Endpoints
| Action | Handler | Proposito |
|---|---|---|---|
| cdep_save_config | Closure en drive.php:278 | Guarda credenciales OAuth |
| cdep_get_auth_url | Closure en drive.php:293 | Obtiene URL de autenticacion Google |
| cdep_drive_connect | Closure en drive.php:307 | Intercambia codigo OAuth por tokens |
| cdep_drive_disconnect | Closure en drive.php:326 | Elimina tokens y desconecta Drive |
| cdep_drive_list | Closure en drive.php:336 | Lista archivos/carpetas en una carpeta de Drive |
| cdep_get_cached_data | Closure en drive.php:353 | Obtiene datos parseados en cache |
| cdep_refresh_cache | Closure en drive.php:375 | Redescarga archivo y re-parsea (soporta delimiter) |
| cdep_reparse_file | Closure en drive.php:456 | Re-parsea archivo temporal con nueva fila de encabezados (soporta delimiter) |
| cdep_drive_select_file | Closure en drive.php:511 | Descarga, parsea y cachea archivo seleccionado |
| cdep_ai_generate | Closure en products.php:911 | Genera contenido IA para un SKU (name/description/short_description) con prompt extra, resolucion de variables, contexto de marca y deteccion de rate limit |
| cdep_update_preview | Closure en products.php:873 | Valida mapeo y genera vista previa con soporte de manual_data, ai_data, calc y decimal_char |
| cdep_update_execute | Closure en products.php:1271 | Ejecuta actualizacion por lotes (offset) con soporte de manual_data, ai_data, calc y decimal_char |
| cdep_update_batch_skus | Closure en products.php:1307 | Actualiza SKUs especificos por lote (soporta decimal_char) |
| cdep_update_single | Closure en products.php:1362 | Actualiza un solo producto por SKU (soporta decimal_char) |
📋 Campos del Producto Soportados
| Campo | Tipo | WooCommerce Setter |
|---|---|---|
regular_price |
float | set_regular_price() |
sale_price |
float | set_sale_price() |
stock_quantity |
int | set_stock_quantity() |
stock_status |
string | set_stock_status() |
weight |
float | set_weight() |
length |
float | set_length() |
width |
float | set_width() |
height |
float | set_height() |
manage_stock |
bool | set_manage_stock() |
backorders |
string | set_backorders() |
tax_status |
string | set_tax_status() |
tax_class |
string | set_tax_class() |
post_status |
string | set_status() |
product_name |
string | set_name() |
short_description |
string | set_short_description() |
description |
string | set_description() |
Nota: Para productos existentes se mapean 6 campos (
regular_price,sale_price,stock_quantity,description,short_description,product_name) con soporte de cálculos matemáticos, edición manual por fila y generación con IA (description/short_description/product_name). Para productos nuevos se mapean los 16 campos completos más la asignación de marca, categorías múltiples y atributos WooCommerce (con soporte de condiciones lógicas y edición manual).
🔒 Seguridad
- ✅ Todas las peticiones AJAX verifican nonce con
check_ajax_referer('cdep_nonce', 'nonce') - ✅ Todas las operaciones admin verifican
current_user_can('manage_options') - ✅ Input sanitizado con
sanitize_text_field(),intval(),sanitize_key(),sanitize_file_name() - ✅ Output escapado con
esc_attr(),esc_html(),esc_url(),esc_textarea() - ✅ Tokens almacenados en
wp_options, no expuestos al frontend - ✅ Archivos temporales se almacenan en
wp_upload_dir()con nombre sanitizado
📦 Constantes Globales
| Constante | Valor | Uso |
|---|---|---|
CDEP_KEY |
'CDEP' |
Prefijo de opciones, slugs y keys |
CDEP_CONFIG |
'CDEP_CONFIG' |
Opcion de configuracion OAuth |
CDEP_TOKENS |
'CDEP_TOKENS' |
Opcion de tokens OAuth |
CDEP_SELECTED |
'CDEP_SELECTED' |
Opcion de archivo seleccionado |
CDEP_SELECTED_DATA |
'CDEP_SELECTED_DATA' |
Opcion de datos parseados en cache |
CDEP_DIR |
plugin_dir_path(__FILE__) |
Ruta absoluta del plugin |
CDEP_URL |
plugin_dir_url(__FILE__) |
URL base del plugin |
CDEP_BASENAME |
plugin_basename(__FILE__) |
Base name del plugin |
CDEP_MODE_DEV |
true en dev hosts |
Habilita modo desarrollo |
📄 Licencia
GPL2+ — Ver LICENSE para mas detalles.
👤 Developer
- Name: Francisco Blanco
- Website: https://franciscoblanco.vercel.app/
- Email: blancofrancisco34@gmail.com
Releases
Newest 25 of 60 recorded releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.