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>
131 lines
3.2 KiB
PHP
131 lines
3.2 KiB
PHP
<?php
|
|
/**
|
|
* The template for displaying the static front page
|
|
*
|
|
* Structure replicates template index.html lines 322-345 (Hero Section)
|
|
*
|
|
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#front-page
|
|
*
|
|
* @package Apus_Theme
|
|
* @since 1.0.0
|
|
*/
|
|
|
|
get_header();
|
|
?>
|
|
|
|
<!-- Hero Title Section (Template líneas 322-345) -->
|
|
<div class="container-fluid py-5 mb-4 hero-title">
|
|
<div class="container">
|
|
<?php
|
|
while ( have_posts() ) :
|
|
the_post();
|
|
|
|
// Categories Section
|
|
$categories = get_the_category();
|
|
if ( ! empty( $categories ) && count( $categories ) > 0 ) :
|
|
?>
|
|
<div class="mb-3 d-flex justify-content-center">
|
|
<div class="d-flex gap-2 flex-wrap justify-content-center">
|
|
<?php
|
|
// Limit to 3 categories max
|
|
$cat_count = 0;
|
|
foreach ( $categories as $category ) :
|
|
if ( $cat_count >= 3 ) break;
|
|
if ( $category->slug === 'uncategorized' ) continue;
|
|
?>
|
|
<a href="<?php echo esc_url( get_category_link( $category->term_id ) ); ?>" class="category-badge category-badge-hero">
|
|
<i class="bi bi-folder-fill me-1"></i>
|
|
<?php echo esc_html( $category->name ); ?>
|
|
</a>
|
|
<?php
|
|
$cat_count++;
|
|
endforeach;
|
|
?>
|
|
</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<!-- Page Title -->
|
|
<h1 class="display-5 fw-bold text-center">
|
|
<?php the_title(); ?>
|
|
</h1>
|
|
<?php endwhile; ?>
|
|
</div><!-- .container -->
|
|
</div><!-- .hero-title -->
|
|
|
|
<main id="main-content" class="site-main front-page" role="main">
|
|
|
|
<!-- Container Bootstrap (Template línea 347) -->
|
|
<div class="container">
|
|
|
|
<?php
|
|
while ( have_posts() ) :
|
|
the_post();
|
|
?>
|
|
|
|
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
|
|
|
|
<!-- Front Page Content -->
|
|
<div class="entry-content">
|
|
<?php
|
|
the_content();
|
|
|
|
// Display page links for paginated pages
|
|
wp_link_pages(
|
|
array(
|
|
'before' => '<div class="page-links">' . esc_html__( 'Pages:', 'apus-theme' ),
|
|
'after' => '</div>',
|
|
)
|
|
);
|
|
?>
|
|
</div><!-- .entry-content -->
|
|
|
|
<!-- Front Page Footer -->
|
|
<?php if ( get_edit_post_link() ) : ?>
|
|
<footer class="entry-footer">
|
|
<?php
|
|
// Edit post link for logged-in users with permission
|
|
edit_post_link(
|
|
sprintf(
|
|
wp_kses(
|
|
/* translators: %s: Page title. Only visible to screen readers. */
|
|
__( 'Edit<span class="screen-reader-text"> "%s"</span>', 'apus-theme' ),
|
|
array(
|
|
'span' => array(
|
|
'class' => array(),
|
|
),
|
|
)
|
|
),
|
|
get_the_title()
|
|
),
|
|
'<span class="edit-link">',
|
|
'</span>'
|
|
);
|
|
?>
|
|
</footer><!-- .entry-footer -->
|
|
<?php endif; ?>
|
|
|
|
</article><!-- #post-<?php the_ID(); ?> -->
|
|
|
|
<?php
|
|
// Display comments section if enabled
|
|
if ( comments_open() || get_comments_number() ) :
|
|
comments_template();
|
|
endif;
|
|
|
|
endwhile; // End of the loop.
|
|
|
|
/**
|
|
* Hook to display additional content on front page
|
|
* This can be used to add featured posts, testimonials, etc.
|
|
*/
|
|
do_action( 'apus_front_page_content' );
|
|
?>
|
|
|
|
</div><!-- .container -->
|
|
|
|
</main><!-- #main-content -->
|
|
|
|
<?php
|
|
get_footer();
|