Connexion Drive Excel Product WP Registry grade A-. Low-severity findings · 1 findingWP RegistryLow-severity findings · 1 findingOpen the reportA-
WordPress plugin to connect Google Drive, select Excel files, map columns (SKU, price, quantity), and mass update WooCommerce products.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
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.