Skip to Content
Balinot ChildRuntime CSS y JS

Asset Runtime

Los assets del child no se cargan todos a mano. El parent expone un runtime de enqueue child-first y el proyecto se enchufa a él.

Archivos clave:

  • functions.php
  • child-modules/10-project-assets.php
  • assets/src/tailwind.css
  • assets/dist/theme.css
  • assets/js/theme.js
  • assets/css/header.css
  • assets/js/header.js

Carga base real

El core encola siempre:

  • assets/dist/theme.css como theme-styles
  • assets/js/theme.js como theme-scripts
  • assets/css/header.css por la regla global header
  • assets/js/header.js por la regla global header

Como el sistema resuelve child primero, estos archivos del proyecto pisan a los del parent si existen con la misma ruta.

Tailwind y build principal

assets/src/tailwind.css define:

  • fuentes locales Besley e Instrumental Sans
  • tokens base de color y tipografía
  • fuentes de escaneo para PHP y JS del child
  • compatibilidad temporal escaneando también el parent

Eso desemboca en assets/dist/theme.css, que es la hoja grande del proyecto.

theme.js

El bundle global del child es el que inicializa el comportamiento transversal del sitio.

Inicializaciones detectadas:

  • header static white
  • top banner marquee
  • footer parallax
  • mega menu
  • header wipe desktop y mobile
  • ocultar header al entrar en footer
  • mobile drawer
  • botón flotante de WhatsApp
  • scroll to top
  • acordeones FAQ

Conclusión práctica:

  • si una interacción vive en varias páginas, lo normal es que esté en theme.js
  • si solo afecta al header/mega, puede vivir en header.js

header.css y header.js

Estos dos archivos no son convenciones muertas: están realmente activos en todo el sitio por la regla header del parent.

header.css concentra:

  • variables del header y radios
  • shell visual de site-header y site-header-mobile
  • mega menú
  • buscador y botones Woo del header

header.js concentra:

  • apertura y cierre del mega menú desktop
  • navegación de segundo y tercer nivel del mega
  • drawer mobile
  • acordeones internos del menú mobile

project-site

child-modules/10-project-assets.php registra una regla global project-site para cargar:

  • assets/css/project-site.css
  • assets/js/project-site.js

Hoy ambos archivos existen, pero están prácticamente vacíos. Son un slot global del proyecto listo para crecer sin tocar el core.

Regla práctica

  • si el comportamiento es realmente global, entra por theme.css o theme.js
  • si es shell de navegación, entra por header.css o header.js
  • si es custom global del proyecto pero no encaja en el core, usa project-site
Last updated on