fix(renderers): corregir timing issue en CSS crítico
PROBLEMA: - wp_head() se ejecuta ANTES de que los componentes rendericen - CriticalCSSCollector estaba vacío al momento de inyectar en <head> - Componentes retornaban solo HTML sin CSS → sitio sin estilos SOLUCIÓN: - Eliminar lógica condicional de is_critical en render() - Siempre incluir CSS inline con el componente (comportamiento anterior) - Campo is_critical reservado para futura implementación con output buffering Archivos modificados: - NavbarRenderer.php - TopNotificationBarRenderer.php - HeroRenderer.php 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -53,17 +53,8 @@ final class HeroRenderer implements RendererInterface
|
||||
$css = $this->generateCSS($data);
|
||||
$html = $this->buildHTML($data);
|
||||
|
||||
// Verificar si el CSS debe ser crítico (inyectado en <head>)
|
||||
$isCritical = isset($data['visibility']['is_critical']) &&
|
||||
$data['visibility']['is_critical'] === true;
|
||||
|
||||
if ($isCritical) {
|
||||
// CSS crítico: agregar al collector para inyección en <head>
|
||||
$this->criticalCollector->add('hero', $css);
|
||||
return $html; // Solo HTML, CSS se inyecta en <head>
|
||||
}
|
||||
|
||||
// CSS no crítico: incluir inline con el componente
|
||||
// Siempre incluir CSS inline con el componente
|
||||
// Nota: is_critical se reserva para futura implementación con output buffering
|
||||
return sprintf("<style>%s</style>\n%s", $css, $html);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user