Informe de error
Hola a todos.
Actualmente estoy desarrollando un sitio web de WordPress en un entorno de desarrollo local y encontré un problema cuya causa raíz aún no he podido identificar a pesar de una investigación exhaustiva.
Antes de pedir ayuda, intenté descartar tantas causas posibles como pude examinando mi configuración de WordPress, el tema activo y el entorno de desarrollo local para asegurarme de que el problema no fuera causado por un simple error de configuración.Entorno
- Última versión de WordPress
- Base de Blockskit (tema de bloques)
- Laragón
- apache
- PHP
- mysql
- ventanas
Se puede acceder al sitio web a través de las siguientes URL:
http://localhost/parsa-wordpress-serverhttp://192.168.1.74/parsa-wordpress-server
Para permitir que el sitio funcione correctamente independientemente del nombre de host que se utilice, configuré WP_HOME y WP_SITEURL dinámicamente en wp-config.php basado en la corriente HTTP_HOST.Descripción del problema
Tras realizar este cambio, la web se comporta correctamente en general. Las páginas, publicaciones y enlaces internos funcionan correctamente independientemente de si se accede al sitio a través de localhost o la dirección IP de la red local.
Sin embargo, al acceder al sitio web a través de la IP de la red local, algunas imágenes no aparecen, mientras que las mismas imágenes se cargan correctamente cuando se abre el sitio a través de localhost.
Lo extraño es que si simplemente abro Apariencia → Editor (Editor del sitio)—sin realizar ni guardar ningún cambio—todas las imágenes que faltan comienzan a cargarse correctamente de inmediato. Continúan funcionando normalmente hasta que se reinicia el servidor local o el entorno de WordPress.
Debido a este comportamiento, sospecho que al abrir el Editor del sitio se activa algún proceso interno de WordPress que actualiza o reconstruye datos relacionados con los temas en bloque o la edición completa del sitio.
Descripción detallada e hipótesis actuales.
Después de configurar WordPress para que funcione dinámicamente con ambos localhost y la dirección IP de la red local, esperaba que el sitio web se comportara de manera idéntica independientemente del nombre de host que se utilizara.
En su mayor parte, lo hace. Las páginas, publicaciones, menús de navegación y enlaces internos funcionan correctamente a través de ambas URL.
El problema solo aparece cuando se accede al sitio web por primera vez a través de la IP de la red local después de que se haya iniciado el servidor local.
En ese momento, varias imágenes no se cargan. Estas incluyen imágenes utilizadas por algunos patrones de bloques y, en algunos casos, imágenes destacadas adjuntas a publicaciones. Sin embargo, los archivos de imagen en sí están presentes en el disco y al abrir sus URL directas en un navegador se muestran correctamente y sin errores.
Lo que hace que este problema sea particularmente difícil de diagnosticar es el comportamiento del propio WordPress.
Si simplemente abro Apariencia → Editor (Editor del sitio) y luego sale del editor sin crear, modificar o guardar nada, cada imagen que falta comienza inmediatamente a cargarse correctamente.
Una vez que esto sucede, el sitio web continúa funcionando normalmente hasta que se reinicia el servidor local o se recrean las condiciones iniciales.
Este comportamiento sugiere que abrir el Editor del sitio no es simplemente mostrar una página de administración. En cambio, parece activar uno o más procesos internos de WordPress o Block Theme que actualizan, reconstruyen o inicializan alguna parte del estado de ejecución del sitio.
En este momento no puedo determinar qué componente interno es el responsable, pero he considerado varias explicaciones posibles:
- El Editor del sitio puede reconstruir o actualizar las plantillas de bloques.
- Los patrones de bloques se pueden reprocesar o renderizar nuevamente después de abrir el editor.
- WordPress puede regenerar datos JSON de temas o de edición completa del sitio almacenados en caché.
- Es posible que algunos datos de tiempo de ejecución requeridos por Block Themes solo se inicialicen después de que se haya cargado el Editor del sitio.
- El problema puede estar relacionado con el cambio entre diferentes nombres de host (
localhosty la IP de la red local), en lugar de ser causado por el tema en sí.
Por el momento éstas son sólo hipótesis. No he podido confirmar ninguno de ellos.
Preguntas y solicitud de orientación
Según todo lo que he investigado hasta ahora, todavía no he podido determinar la causa raíz de este comportamiento.
En lugar de simplemente encontrar una solución alternativa, me gustaría comprender el mecanismo subyacente de WordPress que causa este problema.
Mis principales preguntas son:
- ¿Qué sucede exactamente internamente cuando el Editor del sitio (
Appearance → Editor) está abierto? - ¿Abrir el Editor del sitio activa la regeneración, inicialización o actualización de cualquiera de los siguientes?
- Caché de plantilla de bloque
- Registro de patrones de bloques
- Caché JSON del tema
- Datos de edición completa del sitio (FSE)
- Caché de objetos
- Cualquier otro dato de tiempo de ejecución relacionado con los temas de bloques
- ¿Podría este comportamiento estar relacionado con el uso de dinámica?
WP_HOMEyWP_SITEURLvalores basados en$_SERVER['HTTP_HOST']al cambiar entrelocalhosty la dirección IP de la red local? - ¿Este comportamiento indica una limitación esperada, un problema específico del tema o un error potencial en el propio WordPress?
Si alguien con experiencia en aspectos internos de WordPress, edición completa de sitios o desarrollo de temas de bloques puede explicar qué ocurre detrás de escena cuando se abre el Editor del sitio (o sugerir áreas adicionales que debería investigar), agradecería mucho su orientación.
Mi objetivo no es sólo resolver este problema específico sino también comprender la razón técnica detrás de él. Conocer el mecanismo subyacente me ayudará a diagnosticar problemas similares de forma más eficaz en el futuro.
Muchas gracias por tomarse el tiempo de leer este informe y por cualquier consejo o información que pueda brindarnos. Agradezco sinceramente su ayuda.