EWEB Elementor Bridge (V10.14)
Motor de integración industrial para Elementor (V10+). Implementa un sistema de 'Autocarga de Widgets', motor de animaciones cinemáticas GSAP (Parallax, Reveal, Focus-Grid) y utilidades de diseño para la estética 'Meivcore'. Incluye protección contra conflictos y arquitectura modular unificada.
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/yisus-develop/eweb-elementor-bridge/archive/refs/heads/main.zipArquitectura V10 (Desacoplada & Robusta)
"Diseño sin límites, Edición sin código."
Este proyecto implementa una arquitectura profesional ("El Puente") para combinar el poder del Diseño Personalizado (Code-First) con la facilidad de edición de Elementor.
🧠 Filosofía del Proyecto
El objetivo es evitar las limitaciones visuales de los widgets estándar de Elementor sin perder la capacidad de edición para el cliente final.
- Nosotros (Developers): Escribimos HTML y CSS real en archivos PHP. Controlamos el píxel, el rendimiento y la semántica.
- El Cliente (Editors): Usa Elementor solo para cambiar textos, imágenes y enlaces. No pueden "romper" el diseño porque la estructura está protegida en el código.
🏗️ Estructura del Sistema
Hemos dividido el sistema en dos piezas fundamentales para garantizar estabilidad y datos persistentes.
1. 🧠 CPS Site Core (Datos)
- Responsabilidad: "El Cerebro". Maneja qué DATOS existen.
- Ruta:
/wp-content/plugins/cps-site-core/ - Contenido:
- Custom Post Types (Ej:
Projetos). - Taxonomías (Ej:
Categorias,Tipos de Serviço).
- Custom Post Types (Ej:
- Ventaja: Si cambias de tema visual o de builder, tus datos NO SE PIERDEN.
2. 🎨 EWEB Official Widgets (Puente Visual)
- Responsabilidad: "La Cara". Muestra los datos con diseño personalizado.
- Ruta:
/wp-content/plugins/eweb-elementor-bridge/ - Arquitectura:
plugin.php: El "Cargador". Solo "despierta" cuando Elementor está listo. Evita errores fatales.widgets/: Carpeta donde vive la magia. Un archivo PHP por cada diseño.
🧠 Strategy: Smart Reuse & Style Models
Instead of creating a new widget for every design variation, we follow the "One Widget, Multiple Models" compatibility rule:
- Do Not Clone: Never duplicate a widget just to change CSS.
- Use Style Models: Add a "Style/Skin" selector control to the existing widget.
- Example: The
Services Widgetshould have a dropdown:[Grid Layout],[Carousel Layout]. - Each model loads a different CSS class or Template Part, but reuses the same Logic.
- Example: The
- Future Proofing: Since we extend
\Elementor\Widget_Base, we inherit all core updates automatically.
♻️ Reuse Guide: When to Code vs. When to Reuse?
We use ProElements (GPL Elementor Pro) to avoid reinventing the wheel.
| Feature Type | Recommendation | Widget to Use |
|---|---|---|
| Simple Image/Text | ✅ REUSE | Standard Image / Heading / Text Editor |
| Forms (Contact) | ✅ REUSE | Pro Form (Included in ProElements) |
| Blog / News Grid | ✅ REUSE | Posts Widget + Custom Skin (CSS) |
| Sliders | ✅ REUSE | Slides Widget (Basic) or Loop Carousel (Advanced) |
| Complex Layouts | 🛠️ CODE (Bridge) | Custom EWEB Widget (Like services-widget.php) |
| Highly Interactive | 🛠️ CODE (Bridge) | Custom EWEB Widget (For Parallax, WebGL, Heavy JS) |
🛠️ Flujo de Trabajo: Figma a Elementor
Cuando quieras crear una nueva sección personalizada (ej: "Hero con Efecto Parallax"):
- Diseño: Creas el visual en Figma.
- Código: Creas un archivo
widgets/hero-parallax.php.- Copias tu HTML y CSS aquí.
- Puente (Controles):
- En la función
register_controls(), añades campos (Título, Foto de Fondo). - En la función
render(), reemplazas el texto estático por la variable de Elementor (ej:$settings['titulo']).
- En la función
- Resultado: Tienes un bloque pixel-perfect 100% editable.
📂 Inventario Actual (V10)
| Archivo | Función | Tipo |
|---|---|---|
widgets/intro-widget.php |
Intro Animada | Estático |
widgets/services-widget.php |
Grid de Servicios | Loop Dinámico (Repeater) |
widgets/projects-widget.php |
Loop de Proyectos | Query Loop (CPT) |
Desarrollado para CPS LDA por Yisus Dev & Antigravity