OpenImporter
Bulk WordPress importer for categories and much more
by Miguel Angel Carrillo · github.com/miguelcmo/openimporter · 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/miguelcmo/openimporter/archive/refs/heads/main.zipHerramientas poderosas para importar datos a WordPress y WooCommerce de manera rápida y segura.
📋 Descripción
OpenImporter es un plugin modular de WordPress que facilita la importación masiva de datos a tu sitio. Diseñado con una arquitectura extensible, permite agregar múltiples herramientas de importación de forma sencilla.
✨ Características
- 🎯 Arquitectura Modular: Sistema de módulos fácilmente extensible
- 📊 Dashboard Intuitivo: Interfaz centralizada para acceder a todas las herramientas
- 🔒 Seguro: Validación de permisos, nonce CSRF, y sanitización completa
- ⚡ Alto Rendimiento: Optimizado para importaciones grandes
- 📝 Logs Detallados: Registro completo de cada importación
- 🌐 Compatible con HPOS: Totalmente compatible con el sistema de almacenamiento de alto rendimiento de WooCommerce
🛠️ Módulos Disponibles
Category Importer (Disponible)
Importa categorías y subcategorías de productos WooCommerce desde archivos CSV.
Características:
- ✅ Categorías principales y subcategorías con jerarquía
- ✅ Slugs personalizados (URLs amigables)
- ✅ Descripciones completas
- ✅ Miniaturas desde URL (opcional)
- ✅ Detección inteligente de duplicados
- ✅ Soporte completo para caracteres UTF-8
- ✅ Logs detallados con encoding UTF-8
Formato CSV:
Categoria Principal,Subcategoria,Slug,Descripcion,Miniatura
Ropa,Camisetas,camisetas,Camisetas de todas las tallas,https://example.com/img.jpg
Ropa,Pantalones,pantalones,Pantalones casuales y formales,
Electrónica,,,Productos electrónicos,https://example.com/electronics.jpg
Brand Importer (Próximamente)
Importa marcas de productos desde archivos CSV.
Tag Importer (Próximamente)
Importa etiquetas de productos de forma masiva.
Product Importer (Próximamente)
Importa productos completos con todas sus propiedades.
📦 Instalación
Instalación desde GitHub
- Descarga la última versión desde Releases
- Sube el archivo ZIP a WordPress en
Plugins > Añadir nuevo > Subir plugin - Activa el plugin
- Accede a OpenImporter en el menú lateral de WordPress
Instalación manual
-
Clona este repositorio:
git clone https://github.com/miguelcmo/OpenImporter.git -
Copia la carpeta a
wp-content/plugins/ -
Activa el plugin desde el panel de WordPress
🚀 Uso
Category Importer
- Ve a OpenImporter > Category Importer en el menú de WordPress
- Descarga el archivo CSV de ejemplo para ver el formato
- Prepara tu archivo CSV con las categorías a importar
- Sube el archivo y configura las opciones:
- Omitir encabezado: Si el CSV tiene una fila de encabezado
- Descargar miniaturas: Para descargar imágenes automáticamente (más lento)
- Haz clic en Importar ahora
- Descarga el log detallado para revisar el resultado
📁 Estructura del Proyecto
openimporter/
├── open-importer.php # Archivo principal del plugin
├── README.md # Este archivo
├── readme.txt # Documentación para WordPress.org
├── LICENSE # Licencia GPL-2.0
├── uninstall.php # Script de limpieza
├── admin/ # Administración del plugin
│ ├── class-admin-menu.php # Sistema de menú
│ └── views/
│ └── dashboard.php # Dashboard principal
├── assets/ # Assets globales
│ └── css/
│ └── admin-style.css
└── modules/ # Módulos de importación
└── category-importer/
├── category-importer.php # Archivo principal del módulo
├── includes/
│ └── importer.php # Lógica de importación
├── views/
│ └── category-importer-page.php
└── assets/
└── ejemplo-categorias.csv
🔧 Requisitos
- WordPress: 5.0 o superior
- PHP: 7.4 o superior
- WooCommerce: 4.0 o superior (para módulo de categorías)
- Extensiones PHP:
fopen,fclose,fgetcsv,fwrite
🤝 Contribuir
Las contribuciones son bienvenidas. Para contribuir:
- Haz fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/NuevaCaracteristica) - Commit tus cambios (
git commit -m 'Agrega nueva característica') - Push a la rama (
git push origin feature/NuevaCaracteristica) - Abre un Pull Request
Agregar un Nuevo Módulo
Para agregar un nuevo módulo de importación:
- Crea una carpeta en
modules/tu-modulo/ - Crea el archivo principal
tu-modulo.php - Registra el módulo usando
OpenImporter_Admin_Menu::register_module() - Carga el módulo en
open-importer.phpen la funciónwpoi_load_modules()
Ejemplo:
// modules/brand-importer/brand-importer.php
function wpoi_brand_importer_register() {
OpenImporter_Admin_Menu::register_module('brand-importer', array(
'title' => __('Importador de Marcas', 'openimporter'),
'menu_title' => __('Brand Importer', 'openimporter'),
'capability' => 'manage_woocommerce',
'icon' => 'dashicons-tag',
'callback' => 'wpoi_brand_importer_page',
'description' => __('Importa marcas de productos.', 'openimporter'),
'position' => 20
));
}
add_action('init', 'wpoi_brand_importer_register');
📄 Licencia
Este proyecto está licenciado bajo GPL v2 o posterior - ver el archivo LICENSE para más detalles.
👨💻 Autor
Miguel Angel Carrillo
- GitHub: @miguelcmo
- Website: miguelcmo.com
🐛 Reportar Problemas
Si encuentras algún problema o tienes sugerencias, por favor abre un issue en GitHub.
📝 Changelog
v2.0.0 - 2025-10-21
Nueva arquitectura modular:
- ✨ Sistema de módulos extensible
- ✨ Dashboard centralizado con tarjetas de módulos
- ✨ Menú lateral en WordPress
- 🔄 Category Importer migrado a módulo
- 📁 Reorganización completa de la estructura de archivos
v1.1.1 - 2025-10-21
Category Importer:
- ⚡ Optimizado rendimiento: límite de tiempo a 5 minutos
- ⏱️ Timeout de 10 segundos por imagen
- ✅ Opción para activar/desactivar descarga de miniaturas
- 📊 Indicador de progreso durante importación
v1.1.0 - 2025-10-21
Category Importer:
- ✨ Soporte para slug personalizado
- ✨ Soporte para descripciones
- ✨ Descarga automática de miniaturas desde URL
- 📝 Mejorado logging y documentación
v1.0.0 - 2025-10-21
Versión inicial:
- ✨ Importación básica de categorías y subcategorías
- ✅ Detección de duplicados
- 📝 Logs detallados
- 🔒 Compatible con HPOS
🙏 Agradecimientos
Gracias a la comunidad de WordPress y WooCommerce por sus increíbles herramientas y documentación.
¿Te gusta este proyecto? Dale una ⭐ en GitHub!