fix(wrappers): eliminar wrappers vacíos y corregir exclusiones AdSense (Plan 99.15)

## Problema
- Componentes deshabilitados/excluidos dejaban wrappers HTML vacíos
  (navbar 32px, sidebar col-lg-3 294px)
- AdSense ignoraba exclusiones por URL pattern en grupo _exclusions

## Solución Plan 99.15 (Clean Architecture)

### Domain Layer
- WrapperVisibilityCheckerInterface: contrato para verificar visibilidad

### Application Layer
- CheckWrapperVisibilityUseCase: orquesta verificaciones de visibilidad

### Infrastructure Layer
- WordPressComponentVisibilityRepository: consulta BD + PageVisibilityHelper
- WrapperVisibilityService: facade estático para templates
- BodyClassHooksRegistrar: agrega clases CSS failsafe al body

### Templates modificados
- header.php: renderizado condicional de <nav> wrapper
- page.php/single.php: lógica dinámica col-lg-9/col-lg-12 según sidebar

### CSS Failsafe
- css-global-utilities.css: reglas body.roi-hide-* como respaldo

## Fix AdSense (Inc/adsense-placement.php)
- Agregado PageVisibilityHelper::shouldShow() a todas las funciones:
  roi_render_ad_slot, roi_render_rail_ads, roi_enqueue_adsense_script,
  roi_inject_content_ads, roi_render_anchor_ads, roi_render_vignette_ad,
  roi_enqueue_anchor_vignette_scripts

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-12-04 11:46:21 -06:00
parent 23339e3349
commit 36d5cf56de
12 changed files with 617 additions and 12 deletions

View File

@@ -24,11 +24,19 @@ if (function_exists('roi_render_component')) {
?>
<!-- Main Content Grid (Template líneas 169-1020) -->
<?php
// Plan 99.15: Determinar si mostrar sidebar basándose en visibilidad de componentes
$sidebar_components = ['table-of-contents', 'cta-box-sidebar'];
$show_sidebar = function_exists('roi_should_render_any_wrapper')
? roi_should_render_any_wrapper($sidebar_components)
: true;
$main_col_class = $show_sidebar ? 'col-lg-9' : 'col-lg-12';
?>
<div class="container">
<div class="row">
<!-- Main Content Column (col-lg-9) -->
<div class="col-lg-9">
<!-- Main Content Column -->
<div class="<?php echo esc_attr($main_col_class); ?>">
<!-- Featured Image - Componente dinámico -->
<?php
@@ -77,8 +85,9 @@ if (function_exists('roi_render_component')) {
}
?>
</div><!-- .col-lg-9 -->
</div><!-- .<?php echo esc_attr($main_col_class); ?> -->
<?php if ($show_sidebar): ?>
<!-- Sidebar Column (col-lg-3) -->
<div class="col-lg-3">
<div class="sidebar-sticky">
@@ -97,6 +106,7 @@ if (function_exists('roi_render_component')) {
?>
</div>
</div>
<?php endif; ?>
</div><!-- .row -->
</div><!-- .container -->