Files
roi-theme/front-page.php
FrankZamora 8735962f52 feat(visibility): sistema de visibilidad por tipo de página
- Añadir PageVisibility use case y repositorio
- Implementar PageTypeDetector para detectar home/single/page/archive
- Actualizar FieldMappers con soporte show_on_[page_type]
- Extender FormBuilders con UI de visibilidad por página
- Refactorizar Renderers para evaluar visibilidad dinámica
- Limpiar schemas removiendo campos de visibilidad legacy
- Añadir MigrationCommand para migrar configuraciones existentes
- Implementar adsense-loader.js para carga lazy de ads
- Actualizar front-page.php con nueva estructura
- Extender DIContainer con nuevos servicios

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 09:16:34 -06:00

119 lines
2.6 KiB
PHP

<?php
/**
* The template for displaying the static front page
*
* Replica la estructura de single.php para consistencia visual.
* Grid layout: col-lg-9 (contenido) + col-lg-3 (sidebar)
*
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/#front-page
*
* @package ROI_Theme
* @since 1.0.0
*/
get_header();
?>
<?php while (have_posts()) : the_post(); ?>
<main id="main-content" class="site-main" role="main">
<!-- Hero Section - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('hero');
}
?>
<!-- Main Content Grid -->
<div class="container">
<div class="row">
<!-- Main Content Column (col-lg-9) -->
<div class="col-lg-9">
<!-- Featured Image - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('featured-image');
}
?>
<!-- Page Content -->
<article id="post-<?php the_ID(); ?>" <?php post_class('post-content'); ?>>
<?php
the_content();
wp_link_pages(array(
'before' => '<div class="page-links">' . esc_html__('Pages:', 'roi-theme'),
'after' => '</div>',
));
?>
</article>
<!-- Share Buttons - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('social-share');
}
?>
<!-- CTA Post - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('cta-post');
}
?>
<!-- Related Posts - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('related-post');
}
?>
<!-- Ad After Related Posts -->
<?php
if (function_exists('roi_render_ad_slot')) {
echo roi_render_ad_slot('after-related');
}
?>
</div><!-- .col-lg-9 -->
<!-- Sidebar Column (col-lg-3) -->
<div class="col-lg-3">
<div class="sidebar-sticky">
<!-- Table of Contents - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('table-of-contents');
}
?>
<!-- CTA Box Sidebar - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('cta-box-sidebar');
}
?>
</div>
</div>
</div><!-- .row -->
</div><!-- .container -->
</main><!-- #main-content -->
<?php endwhile; ?>
<!-- Contact Form Section - Componente dinámico -->
<?php
if (function_exists('roi_render_component')) {
echo roi_render_component('contact-form');
}
?>
<?php
get_footer();