* 4. Los Renderers detectan is_critical y omiten CSS inline * * PATRÓN: * - SRP: Solo registra hook, delega lógica a CriticalCSSService * * UBICACIÓN: Infrastructure/Wordpress * * @package ROITheme\Shared\Infrastructure\Wordpress */ final class CriticalCSSHooksRegistrar { public function __construct( private readonly CriticalCSSService $criticalCSSService ) {} /** * Registrar hooks de WordPress */ public function register(): void { // Priority 1 = muy temprano en
, antes de otros estilos add_action('wp_head', [$this, 'renderCriticalCSS'], 1); } /** * Callback para wp_head * * Ejecuta CriticalCSSService que: * - Consulta BD por componentes con is_critical=true * - Genera CSS usando los Renderers * - Output: */ public function renderCriticalCSS(): void { $this->criticalCSSService->render(); } }