- Reorganización de estructura: Admin/, Public/, Shared/, Schemas/ - 12 componentes migrados: TopNotificationBar, Navbar, CtaLetsTalk, Hero, FeaturedImage, TableOfContents, CtaBoxSidebar, SocialShare, CtaPost, RelatedPost, ContactForm, Footer - Panel de administración con tabs Bootstrap 5 funcionales - Schemas JSON para configuración de componentes - Renderers dinámicos con CSSGeneratorService (cero CSS hardcodeado) - FormBuilders para UI admin con Design System consistente - Fix: Bootstrap JS cargado en header para tabs funcionales - Fix: buildTextInput maneja valores mixed (bool/string) - Eliminación de estructura legacy (src/, admin/, assets/css/componente-*) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
106 lines
2.2 KiB
PHP
106 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* Single Post Template
|
|
*
|
|
* Replica EXACTAMENTE la estructura del template RDash (líneas 135-1020)
|
|
* Sin wrappers extra de WordPress tradicional.
|
|
*
|
|
* @package ROI_Theme
|
|
* @since 1.0.0
|
|
*/
|
|
|
|
get_header();
|
|
?>
|
|
|
|
<?php while (have_posts()) : the_post(); ?>
|
|
|
|
<!-- Hero Section - Componente dinámico -->
|
|
<?php
|
|
if (function_exists('roi_render_component')) {
|
|
echo roi_render_component('hero');
|
|
}
|
|
?>
|
|
|
|
<!-- Main Content Grid (Template líneas 169-1020) -->
|
|
<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');
|
|
}
|
|
?>
|
|
|
|
<!-- Post Content -->
|
|
<article 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');
|
|
}
|
|
?>
|
|
|
|
</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 -->
|
|
|
|
<?php endwhile; ?>
|
|
|
|
<!-- Contact Form Section - Componente dinámico -->
|
|
<?php
|
|
if (function_exists('roi_render_component')) {
|
|
echo roi_render_component('contact-form');
|
|
}
|
|
?>
|
|
|
|
<?php
|
|
get_footer();
|