feat(custom-css-manager): implementar TIPO 3 - CSS Crítico Personalizado
Nuevo sistema de gestión de CSS personalizado con panel admin: - Admin/CustomCSSManager: CRUD de snippets CSS (crítico/diferido) - Public/CustomCSSManager: Inyección dinámica en frontend - Schema JSON para configuración del componente Migración de CSS estático a BD: - Tablas APU (~14KB) → snippet diferido en BD - Tablas Genéricas (~10KB) → snippet diferido en BD - Comentadas funciones legacy en enqueue-scripts.php Limpieza de archivos obsoletos: - Eliminado build-bootstrap-subset.js - Eliminado migrate-legacy-options.php - Eliminado minify-css.php - Eliminado purgecss.config.js Beneficios: - CSS editable desde admin sin tocar código - Soporte crítico (head) y diferido (footer) - Filtrado por scope (all/home/single/archive) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -295,7 +295,43 @@ add_action('wp_footer', function() use ($container) {
|
||||
}, 99); // Prioridad alta para que se renderice al final del footer
|
||||
|
||||
// =============================================================================
|
||||
// 5.1. INFORMACIÓN DE DEBUG (Solo en desarrollo)
|
||||
// 5.2. CUSTOM CSS MANAGER (TIPO 3: CSS Crítico Personalizado)
|
||||
// =============================================================================
|
||||
|
||||
/**
|
||||
* Bootstrap CustomCSSManager
|
||||
*
|
||||
* Inicializa el sistema de CSS personalizado configurable.
|
||||
* - Frontend: Inyecta CSS crítico (head) y diferido (footer)
|
||||
* - Admin: El FormBuilder se auto-registra cuando es instanciado por el dashboard
|
||||
*/
|
||||
add_action('after_setup_theme', function() {
|
||||
// Solo inyectar CSS en frontend (no admin)
|
||||
if (is_admin()) {
|
||||
return;
|
||||
}
|
||||
|
||||
global $wpdb;
|
||||
|
||||
// Repository compartido
|
||||
$repository = new \ROITheme\Admin\CustomCSSManager\Infrastructure\Persistence\WordPressSnippetRepository($wpdb);
|
||||
|
||||
// Use Cases para Public
|
||||
$getCriticalUseCase = new \ROITheme\Public\CustomCSSManager\Application\UseCases\GetCriticalSnippetsUseCase($repository);
|
||||
$getDeferredUseCase = new \ROITheme\Public\CustomCSSManager\Application\UseCases\GetDeferredSnippetsUseCase($repository);
|
||||
|
||||
// Injector de CSS en frontend
|
||||
$injector = new \ROITheme\Public\CustomCSSManager\Infrastructure\Services\CustomCSSInjector(
|
||||
$getCriticalUseCase,
|
||||
$getDeferredUseCase
|
||||
);
|
||||
|
||||
// Registrar hooks
|
||||
$injector->register();
|
||||
}, 5); // Priority 5: después de theme setup básico
|
||||
|
||||
// =============================================================================
|
||||
// 5.3. INFORMACIÓN DE DEBUG (Solo en desarrollo)
|
||||
// =============================================================================
|
||||
|
||||
if (defined('WP_DEBUG') && WP_DEBUG) {
|
||||
|
||||
Reference in New Issue
Block a user