LearnPress WooCommerce Course Sync
Un plugin de WordPress que sincroniza automáticamente los cursos de LearnPress con productos de WooCommerce, creando productos vinculados con toda la información del curso.
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/tg12r/lp-course-to-product/archive/refs/heads/master.zipUn plugin de WordPress que sincroniza automáticamente los cursos de LearnPress con productos de WooCommerce, creando productos vinculados con toda la información del curso.
📋 Características
- ✅ Sincronización Automática: Los cursos se sincronizan automáticamente al crearlos o actualizarlos
- 🔄 Sincronización Manual: Sincroniza todos los cursos o cursos individuales desde el panel de administración
- 🔗 Vinculación Completa: Enlaza productos y cursos usando la integración nativa de LearnPress-WooCommerce
- 📊 Panel de Administración: Interfaz completa para gestionar la sincronización
- 📝 Sistema de Logs: Registro detallado de todas las operaciones
- 🚫 Prevención de Duplicados: No crea productos duplicados para el mismo curso
- 💰 Sincronización de Precios: Copia precios regulares y de oferta
- 🖼️ Imágenes y Categorías: Sincroniza imágenes destacadas y categorías del curso
🔧 Requisitos
- WordPress 5.0 o superior
- PHP 7.2 o superior
- WooCommerce (activado)
- LearnPress (activado)
- LearnPress - WooCommerce Payment Methods Integration (activado)
📦 Instalación
-
Descarga el plugin y descomprímelo en la carpeta
wp-content/plugins/O copia todos los archivos en:
wp-content/plugins/lp-wc-course-sync/ -
Estructura de archivos requerida:
lp-wc-course-sync/ ├── lp-wc-course-sync.php ├── includes/ │ ├── class-admin-page.php │ ├── class-ajax-handler.php │ ├── class-course-sync.php │ └── class-logger.php └── assets/ ├── css/ │ └── admin-style.css └── js/ └── admin-script.js -
Activa el plugin desde el panel de WordPress en
Plugins > Plugins Instalados -
El plugin verificará que WooCommerce, LearnPress y LearnPress-WooCommerce Integration estén instalados y activados
🚀 Uso
Primera Sincronización
- Ve a LP/WC Sync en el menú de administración de WordPress
- Haz clic en "Sincronizar Todos los Cursos"
- El plugin creará un producto de WooCommerce por cada curso publicado
Sincronización Automática
Por defecto, la sincronización automática está habilitada. Esto significa que:
- Cuando creas un nuevo curso y lo publicas, se crea automáticamente un producto
- Cuando actualizas un curso, el producto asociado se actualiza automáticamente
- Los cambios sincronizados incluyen: título, descripción, precio, imagen y categorías
Puedes desactivar la sincronización automática desde la página de configuración del plugin.
Sincronización Manual
Para sincronizar un curso específico:
- Ve a LP/WC Sync en el menú de administración
- Busca el curso en la tabla
- Haz clic en "Sincronizar" o "Actualizar"
Información Sincronizada
El plugin sincroniza la siguiente información del curso al producto:
| Dato del Curso | Campo del Producto |
|---|---|
| Título | Nombre del producto |
| Descripción completa | Descripción del producto |
| Descripción corta | Descripción corta del producto |
| Precio regular | Precio regular |
| Precio de oferta | Precio de oferta |
| Imagen destacada | Imagen del producto |
| Categorías | Categorías del producto |
Además, los productos se configuran como:
- Productos virtuales (sin envío)
- Vendidos individualmente (no se puede comprar más de uno)
📊 Panel de Administración
El panel de administración muestra:
Estadísticas
- 📚 Total de cursos
- ✅ Productos sincronizados
- 🔄 Total de sincronizaciones
- ⚠️ Errores
Tabla de Cursos
- Lista de todos los cursos
- Producto asociado (si existe)
- Estado de sincronización
- Acciones para sincronizar individualmente
Logs Recientes
- Registro de las últimas operaciones
- Estado (éxito, error, advertencia, info)
- Mensajes detallados
🔗 Cómo Funciona la Vinculación
El plugin vincula productos y cursos usando los mismos métodos que LearnPress-WooCommerce Integration:
- Crea un meta field
_lp_woo_coursesen el producto con el ID del curso - Crea un meta field
_lp_woo_assign_coursespara asignar el curso al comprador - Guarda un meta field
_lp_wc_sync_product_iden el curso para búsquedas rápidas
Cuando alguien compra el producto de WooCommerce, LearnPress automáticamente le asigna el curso.
🛠️ Funciones Avanzadas
Eliminar Logs Antiguos
Desde el panel de administración, puedes eliminar logs de más de 30 días haciendo clic en "Limpiar Logs Antiguos".
Hooks Disponibles
// Decide si eliminar el producto cuando se elimina el curso
add_filter('lp_wc_sync_delete_product_on_course_delete', function($should_delete, $course_id) {
return true; // true para eliminar, false para mantener
}, 10, 2);
❓ Preguntas Frecuentes
¿Qué pasa si ya tengo productos creados manualmente?
El plugin detecta si un curso ya tiene un producto vinculado y lo actualiza en lugar de crear uno nuevo.
¿Puedo editar los productos después de la sincronización?
Sí, pero ten en cuenta que si la sincronización automática está activada, algunos campos se sobrescribirán cuando actualices el curso.
¿Qué pasa si desactivo el plugin?
Los productos y cursos seguirán funcionando normalmente. El plugin solo deja de sincronizar cambios.
¿Se puede revertir la sincronización?
Los productos creados no se eliminan automáticamente. Debes eliminarlos manualmente desde WooCommerce si lo deseas.
📝 Tabla de Logs en la Base de Datos
El plugin crea una tabla wp_lp_wc_sync_logs con los siguientes campos:
id: ID del logcourse_id: ID del cursoproduct_id: ID del productoaction: Tipo de acción (sync, auto_sync, update, etc.)message: Mensaje descriptivostatus: Estado (success, error, warning, info)created_at: Fecha y hora
🐛 Solución de Problemas
Los productos no se crean
- Verifica que WooCommerce, LearnPress y LearnPress-WooCommerce Integration estén activados
- Revisa los logs en el panel de administración
- Comprueba que los cursos estén publicados (no en borrador)
Los cursos no se asignan después de la compra
Esto es responsabilidad de LearnPress-WooCommerce Integration. Verifica que:
- El plugin LearnPress-WooCommerce esté activado
- La pasarela de pago de WooCommerce esté configurada
- El estado del pedido sea "Completado"
Error de permisos
Asegúrate de que el usuario tenga el capability manage_options (normalmente Administradores).
🔄 Actualizaciones Futuras
Posibles mejoras plannedadas:
- [ ] Sincronización bidireccional (cambios en producto afectan al curso)
- [ ] Configuración de qué campos sincronizar
- [ ] Soporte para productos variables (cursos con variantes)
- [ ] Sincronización de etiquetas (tags)
📄 Licencia
GPL v2 or later
👨💻 Autor
Creado para simplificar la gestión de cursos en sitios que usan LearnPress + WooCommerce.
🆘 Soporte
Si encuentras algún problema:
- Revisa los logs en el panel de administración
- Activa
WP_DEBUGenwp-config.phppara ver errores detallados - Verifica que todos los plugins requeridos estén actualizados
¡Disfruta de la sincronización automática de tus cursos! 🎉