- Verificación de entorno XAMPP (PHP 8.0.30, Composer 2.9.1, WP-CLI 2.12.0) - Configuración de Composer con PSR-4 para 24 namespaces - Configuración de PHPUnit con 140 tests preparados - Configuración de PHPCS con WordPress Coding Standards - Scripts de backup y rollback con mejoras de seguridad - Estructura de contextos (admin/, public/, shared/) - Schemas JSON para 11 componentes del sistema - Código fuente inicial con arquitectura limpia en src/ - Documentación de procedimientos de emergencia 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
221 lines
6.4 KiB
JSON
221 lines
6.4 KiB
JSON
{
|
|
"component_name": "footer",
|
|
"version": "1.0.0",
|
|
"description": "Footer completo del sitio con 3 widgets, newsletter, copyright y redes sociales",
|
|
"groups": {
|
|
"widget_1": {
|
|
"label": "Widget 1",
|
|
"priority": 10,
|
|
"fields": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"label": "Activar widget 1",
|
|
"default": true,
|
|
"description": "Mostrar u ocultar este widget"
|
|
},
|
|
"title": {
|
|
"type": "text",
|
|
"label": "Título del widget",
|
|
"default": "Recursos",
|
|
"description": "Título de la columna del widget"
|
|
},
|
|
"links": {
|
|
"type": "repeater",
|
|
"label": "Enlaces",
|
|
"description": "Lista de enlaces del widget",
|
|
"default": [
|
|
{"text": "Home", "url": "/"},
|
|
{"text": "Features", "url": "#features"},
|
|
{"text": "Pricing", "url": "#pricing"},
|
|
{"text": "FAQs", "url": "#faqs"},
|
|
{"text": "About", "url": "#about"}
|
|
],
|
|
"fields": {
|
|
"text": {
|
|
"type": "text",
|
|
"label": "Texto del enlace",
|
|
"required": true
|
|
},
|
|
"url": {
|
|
"type": "text",
|
|
"label": "URL",
|
|
"required": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"widget_2": {
|
|
"label": "Widget 2",
|
|
"priority": 20,
|
|
"fields": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"label": "Activar widget 2",
|
|
"default": true
|
|
},
|
|
"title": {
|
|
"type": "text",
|
|
"label": "Título del widget",
|
|
"default": "Servicios"
|
|
},
|
|
"links": {
|
|
"type": "repeater",
|
|
"label": "Enlaces",
|
|
"default": [
|
|
{"text": "Análisis", "url": "#analisis"},
|
|
{"text": "Presupuestos", "url": "#presupuestos"},
|
|
{"text": "Cotizaciones", "url": "#cotizaciones"},
|
|
{"text": "Proyectos", "url": "#proyectos"}
|
|
],
|
|
"fields": {
|
|
"text": {"type": "text", "label": "Texto", "required": true},
|
|
"url": {"type": "text", "label": "URL", "required": true}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"widget_3": {
|
|
"label": "Widget 3",
|
|
"priority": 30,
|
|
"fields": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"label": "Activar widget 3",
|
|
"default": true
|
|
},
|
|
"title": {
|
|
"type": "text",
|
|
"label": "Título del widget",
|
|
"default": "Empresa"
|
|
},
|
|
"links": {
|
|
"type": "repeater",
|
|
"label": "Enlaces",
|
|
"default": [
|
|
{"text": "Acerca de", "url": "#acerca"},
|
|
{"text": "Blog", "url": "/blog"},
|
|
{"text": "Contacto", "url": "#contacto"},
|
|
{"text": "Política de Privacidad", "url": "/privacidad"}
|
|
],
|
|
"fields": {
|
|
"text": {"type": "text", "label": "Texto", "required": true},
|
|
"url": {"type": "text", "label": "URL", "required": true}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"newsletter": {
|
|
"label": "Newsletter",
|
|
"priority": 40,
|
|
"fields": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"label": "Activar newsletter",
|
|
"default": true,
|
|
"description": "Mostrar u ocultar sección de newsletter"
|
|
},
|
|
"title": {
|
|
"type": "text",
|
|
"label": "Título",
|
|
"default": "Suscríbete a nuestro newsletter",
|
|
"required": true,
|
|
"description": "Título de la sección de newsletter"
|
|
},
|
|
"description": {
|
|
"type": "textarea",
|
|
"label": "Descripción",
|
|
"default": "Recibe actualizaciones mensuales sobre nuestros productos y servicios.",
|
|
"description": "Texto descriptivo debajo del título"
|
|
},
|
|
"placeholder": {
|
|
"type": "text",
|
|
"label": "Placeholder del email",
|
|
"default": "Correo electrónico",
|
|
"description": "Texto placeholder del campo de email"
|
|
},
|
|
"button_text": {
|
|
"type": "text",
|
|
"label": "Texto del botón",
|
|
"default": "Suscribirse",
|
|
"required": true,
|
|
"description": "Texto del botón de suscripción"
|
|
}
|
|
}
|
|
},
|
|
"copyright": {
|
|
"label": "Copyright",
|
|
"priority": 50,
|
|
"fields": {
|
|
"text": {
|
|
"type": "text",
|
|
"label": "Texto de copyright",
|
|
"default": "ROI Theme. Todos los derechos reservados.",
|
|
"required": true,
|
|
"description": "Texto que aparece después del año"
|
|
},
|
|
"year_auto": {
|
|
"type": "boolean",
|
|
"label": "Año automático",
|
|
"default": true,
|
|
"description": "Mostrar el año actual automáticamente"
|
|
}
|
|
}
|
|
},
|
|
"social_links": {
|
|
"label": "Redes Sociales",
|
|
"priority": 60,
|
|
"fields": {
|
|
"twitter": {
|
|
"type": "text",
|
|
"label": "Twitter URL",
|
|
"default": "",
|
|
"description": "URL completa de perfil de Twitter (deja vacío para ocultar)"
|
|
},
|
|
"instagram": {
|
|
"type": "text",
|
|
"label": "Instagram URL",
|
|
"default": "",
|
|
"description": "URL completa de perfil de Instagram"
|
|
},
|
|
"facebook": {
|
|
"type": "text",
|
|
"label": "Facebook URL",
|
|
"default": "",
|
|
"description": "URL completa de página de Facebook"
|
|
},
|
|
"linkedin": {
|
|
"type": "text",
|
|
"label": "LinkedIn URL",
|
|
"default": "",
|
|
"description": "URL completa de perfil o página de LinkedIn"
|
|
}
|
|
}
|
|
},
|
|
"styles": {
|
|
"label": "Estilos",
|
|
"priority": 70,
|
|
"fields": {
|
|
"background_color": {
|
|
"type": "text",
|
|
"label": "Clase de fondo",
|
|
"default": "bg-dark",
|
|
"description": "Clase de Bootstrap para el fondo (ej: bg-dark, bg-secondary)"
|
|
},
|
|
"text_color": {
|
|
"type": "text",
|
|
"label": "Clase de color de texto",
|
|
"default": "text-white",
|
|
"description": "Clase de Bootstrap para el color de texto"
|
|
},
|
|
"link_hover_color": {
|
|
"type": "color",
|
|
"label": "Color de enlaces al hover",
|
|
"default": "#FF8600",
|
|
"description": "Color de los enlaces cuando se pasa el mouse sobre ellos"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|