Implementación de correcciones críticas de estructura HTML base según template RDash index.html. **Cambios en header.php:** - Agregado botón "Let's Talk" dentro de navbar collapse (líneas 315-317 template) - Botón con data-bs-toggle="modal" data-bs-target="#contactModal" - Icono bi-lightning-charge-fill - Agregados atributos ScrollSpy a body tag: data-bs-spy="scroll", data-bs-target=".toc-container", data-bs-offset="100" **Cambios en front-page.php:** - REESCRITO completamente con estructura hero section (líneas 322-345 template) - Implementado div.container-fluid.py-5.mb-4.hero-title - Category badges con estructura correcta: d-flex gap-2, a.category-badge.category-badge-hero - H1 con clases: display-5 fw-bold text-center - Container Bootstrap wrapper correcto **Archivos creados:** - template-parts/modal-contact.php: Modal Bootstrap 5 para contacto - Estructura completa con form, labels, inputs - Compatible con botón "Let's Talk" y CTA Box **Cambios en footer.php:** - Integrado get_template_part para modal-contact en modalContainer **Validación:** - Sintaxis PHP validada en todos los archivos: ✅ Sin errores - Estructura HTML replica líneas exactas del template **Discrepancias corregidas:** ✅ Botón "Let's Talk" AUSENTE → IMPLEMENTADO ✅ Body tag sin ScrollSpy → ATRIBUTOS AGREGADOS ✅ Hero Section AUSENTE → IMPLEMENTADO ✅ Category badges AUSENTES → IMPLEMENTADOS ✅ H1 clases incorrectas → CORREGIDAS (display-5 fw-bold text-center) ✅ Modal contacto AUSENTE → CREADO **Siguiente paso:** Implementar issues #58-64 (estilos CSS) Relacionado con: #57 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
126 lines
4.2 KiB
PHP
126 lines
4.2 KiB
PHP
<?php
|
|
/**
|
|
* The header for our theme
|
|
*
|
|
* Navbar sticky con Bootstrap 5.3.2 y animaciones según template del cliente.
|
|
* Incluye: sticky positioning, gradient animations, responsive hamburger menu.
|
|
*
|
|
* @package Apus_Theme
|
|
* @since 1.0.0
|
|
*/
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html <?php language_attributes(); ?>>
|
|
<head>
|
|
<meta charset="<?php bloginfo( 'charset' ); ?>">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<link rel="profile" href="https://gmpg.org/xfn/11">
|
|
<?php wp_head(); ?>
|
|
</head>
|
|
|
|
<body <?php body_class(); ?> data-bs-spy="scroll" data-bs-target=".toc-container" data-bs-offset="100">
|
|
<?php wp_body_open(); ?>
|
|
|
|
<!-- Skip to main content link para accesibilidad -->
|
|
<a class="skip-link screen-reader-text" href="#main-content">
|
|
<?php esc_html_e( 'Skip to content', 'apus-theme' ); ?>
|
|
</a>
|
|
|
|
<div id="page" class="site">
|
|
|
|
<!-- Top Notification Bar (Issue #39) -->
|
|
<?php if ( ! isset( $_COOKIE['apus_notification_dismissed'] ) ) : ?>
|
|
<div id="topNotificationBar" class="top-notification-bar">
|
|
<div class="container-fluid">
|
|
<div class="d-flex align-items-center justify-content-center position-relative">
|
|
<i class="bi bi-megaphone-fill me-2"></i>
|
|
<span class="notification-text">
|
|
<span class="text-highlight"><?php esc_html_e( 'Nuevo:', 'apus-theme' ); ?></span>
|
|
<span class="d-none d-md-inline"><?php esc_html_e( 'Accede a 200,000+ APUs actualizados para 2025', 'apus-theme' ); ?></span>
|
|
<span class="d-md-none"><?php esc_html_e( '200K+ APUs 2025', 'apus-theme' ); ?></span>
|
|
</span>
|
|
<a href="<?php echo esc_url( home_url( '/catalogo' ) ); ?>" class="ms-2 notification-link">
|
|
<?php esc_html_e( 'Ver Catálogo', 'apus-theme' ); ?>
|
|
</a>
|
|
<button type="button" class="btn-close-notification ms-auto" aria-label="<?php esc_attr_e( 'Cerrar notificación', 'apus-theme' ); ?>">
|
|
<i class="bi bi-x-lg"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<!-- Navbar Sticky con Bootstrap 5 - RDash Colors (Issue #41) -->
|
|
<nav class="navbar navbar-expand-lg navbar-dark py-3" role="navigation" aria-label="<?php esc_attr_e( 'Primary Navigation', 'apus-theme' ); ?>">
|
|
<div class="container">
|
|
|
|
<!-- Logo / Site Title -->
|
|
<a class="navbar-brand" href="<?php echo esc_url( home_url( '/' ) ); ?>">
|
|
<?php
|
|
if ( has_custom_logo() ) {
|
|
the_custom_logo();
|
|
} else {
|
|
?>
|
|
<b><?php bloginfo( 'name' ); ?></b>
|
|
<?php
|
|
}
|
|
?>
|
|
</a>
|
|
|
|
<!-- Hamburger Toggle Button (Bootstrap 5) -->
|
|
<button class="navbar-toggler"
|
|
type="button"
|
|
data-bs-toggle="collapse"
|
|
data-bs-target="#navbarSupportedContent"
|
|
aria-controls="navbarSupportedContent"
|
|
aria-expanded="false"
|
|
aria-label="<?php esc_attr_e( 'Toggle navigation', 'apus-theme' ); ?>">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<!-- Collapsible Menu -->
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
<?php
|
|
if ( has_nav_menu( 'primary' ) ) {
|
|
wp_nav_menu(
|
|
array(
|
|
'theme_location' => 'primary',
|
|
'container' => false,
|
|
'menu_class' => 'navbar-nav ms-auto mb-2 mb-lg-0',
|
|
'fallback_cb' => false,
|
|
'depth' => 2,
|
|
'walker' => new WP_Bootstrap_Navwalker(),
|
|
)
|
|
);
|
|
} else {
|
|
// Fallback si no hay menú asignado
|
|
?>
|
|
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<?php echo esc_url( home_url( '/' ) ); ?>">
|
|
<?php esc_html_e( 'Home', 'apus-theme' ); ?>
|
|
</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<?php echo esc_url( get_post_type_archive_link( 'post' ) ); ?>">
|
|
<?php esc_html_e( 'Blog', 'apus-theme' ); ?>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<?php
|
|
}
|
|
?>
|
|
|
|
<!-- Let's Talk Button (Template líneas 315-317) -->
|
|
<button class="btn btn-lets-talk ms-lg-3" type="button" data-bs-toggle="modal" data-bs-target="#contactModal">
|
|
<i class="bi bi-lightning-charge-fill me-2"></i><?php esc_html_e( 'Let\'s Talk', 'apus-theme' ); ?>
|
|
</button>
|
|
</div>
|
|
|
|
</div><!-- .container -->
|
|
</nav><!-- .navbar -->
|
|
|
|
<!-- Main Content Area -->
|
|
<div id="content" class="site-content">
|