COMPLETADO: Fase 1 de la migración a Clean Architecture + POO ## Estructura de Carpetas - ✓ Estructura completa de 4 capas (Domain, Application, Infrastructure, Presentation) - ✓ Carpetas de Use Cases (SaveComponent, GetComponent, DeleteComponent, SyncSchema) - ✓ Estructura de tests (Unit, Integration, E2E) - ✓ Carpetas de schemas y templates ## Composer y Autoloading - ✓ PSR-4 autoloading configurado para ROITheme namespace - ✓ Autoloader optimizado regenerado ## DI Container - ✓ DIContainer implementado con patrón Singleton - ✓ Métodos set(), get(), has() para gestión de servicios - ✓ Getters específicos para ComponentRepository, ValidationService, CacheService - ✓ Placeholders que serán implementados en Fase 5 - ✓ Prevención de clonación y deserialización ## Interfaces - ✓ ComponentRepositoryInterface (Domain) - ✓ ValidationServiceInterface (Application) - ✓ CacheServiceInterface (Application) - ✓ Component entity placeholder (Domain) ## Bootstrap - ✓ functions.php actualizado con carga de Composer autoloader - ✓ Inicialización del DIContainer - ✓ Helper function roi_container() disponible globalmente ## Tests - ✓ 10 tests unitarios para DIContainer (100% cobertura) - ✓ Total: 13 tests unitarios, 28 assertions - ✓ Suite de tests pasando correctamente ## Validación - ✓ Script de validación automatizado (48/48 checks pasados) - ✓ 100% de validaciones exitosas La arquitectura base está lista para la Fase 2. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
95 lines
5.1 KiB
PHP
95 lines
5.1 KiB
PHP
<?php
|
|
/**
|
|
* Footer Template
|
|
*
|
|
* Replica EXACTAMENTE la estructura del template (líneas 1093-1149)
|
|
* Footer con 3 columnas de navegación + newsletter simple (solo email).
|
|
*
|
|
* @package ROI_Theme
|
|
* @since 1.0.0
|
|
*/
|
|
?>
|
|
|
|
<!-- Footer (Template líneas 1093-1149) -->
|
|
<footer class="py-5 mt-0 bg-dark text-white">
|
|
<div class="container">
|
|
<div class="row">
|
|
<!-- Sección 1: Navegación -->
|
|
<div class="col-6 col-md-2 mb-3">
|
|
<h5><?php esc_html_e('Recursos', 'roi-theme'); ?></h5>
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Inicio', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/blog'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Blog', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/catalogo'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Catálogo', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/precios'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Precios', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/nosotros'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Nosotros', 'roi-theme'); ?></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Sección 2: Navegación -->
|
|
<div class="col-6 col-md-2 mb-3">
|
|
<h5><?php esc_html_e('Soporte', 'roi-theme'); ?></h5>
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/faq'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Preguntas Frecuentes', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/ayuda'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Centro de Ayuda', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/contacto'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Contacto', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/politicas'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Políticas', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/terminos'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Términos', 'roi-theme'); ?></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Sección 3: Navegación -->
|
|
<div class="col-6 col-md-2 mb-3">
|
|
<h5><?php esc_html_e('Empresa', 'roi-theme'); ?></h5>
|
|
<ul class="nav flex-column">
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/nosotros'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Acerca de', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/equipo'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Equipo', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/trabajos'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Trabaja con Nosotros', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/prensa'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Prensa', 'roi-theme'); ?></a></li>
|
|
<li class="nav-item mb-2"><a href="<?php echo home_url('/partners'); ?>" class="nav-link p-0 text-white"><?php esc_html_e('Partners', 'roi-theme'); ?></a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<!-- Newsletter Simple (solo email) -->
|
|
<div class="col-md-5 offset-md-1 mb-3">
|
|
<form>
|
|
<h5><?php esc_html_e('Suscríbete al Newsletter', 'roi-theme'); ?></h5>
|
|
<p><?php esc_html_e('Recibe las últimas actualizaciones de APUs.', 'roi-theme'); ?></p>
|
|
<div class="d-flex flex-column flex-sm-row w-100 gap-2">
|
|
<label for="newsletter1" class="visually-hidden"><?php esc_html_e('Email', 'roi-theme'); ?></label>
|
|
<input id="newsletter1" type="email" class="form-control" placeholder="<?php esc_attr_e('Email', 'roi-theme'); ?>">
|
|
<button class="btn btn-primary" type="button"><?php esc_html_e('Suscribirse', 'roi-theme'); ?></button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Copyright y Redes Sociales -->
|
|
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top">
|
|
<p>© <?php echo date('Y'); ?> <?php bloginfo('name'); ?>. <?php esc_html_e('Todos los derechos reservados.', 'roi-theme'); ?></p>
|
|
<ul class="list-unstyled d-flex">
|
|
<li class="ms-3">
|
|
<a class="link-light" href="https://twitter.com/tuusuario" target="_blank" rel="noopener" aria-label="<?php esc_attr_e('Twitter', 'roi-theme'); ?>">
|
|
<i class="bi bi-twitter"></i>
|
|
</a>
|
|
</li>
|
|
<li class="ms-3">
|
|
<a class="link-light" href="https://instagram.com/tuusuario" target="_blank" rel="noopener" aria-label="<?php esc_attr_e('Instagram', 'roi-theme'); ?>">
|
|
<i class="bi bi-instagram"></i>
|
|
</a>
|
|
</li>
|
|
<li class="ms-3">
|
|
<a class="link-light" href="https://facebook.com/tuusuario" target="_blank" rel="noopener" aria-label="<?php esc_attr_e('Facebook', 'roi-theme'); ?>">
|
|
<i class="bi bi-facebook"></i>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
<?php wp_footer(); ?>
|
|
|
|
</body>
|
|
</html>
|