Pregunta sobre Arreglando WordPress de Wordpress:

más problemas de UTC en WordPress

Un usuario preguntó 👇

así que emití notificaciones hace unos años con cosas en WordPress que mostraban la hora incorrecta. Eso finalmente se corrigió, y se hicieron configuraciones en toda la placa y en el servidor para establecer la zona horaria de php en América / Nueva York.

Otros scripts en mi sitio requieren que esta configuración sea correcta.

Ahora, estoy notando los problemas de comenzar de nuevo con WordPress. Recibí esto, del año pasado https://wordpress.org/support/topic/utc-time-wrong/page/2/

Arreglé una revisión rápida

Sin embargo, en la configuración general de WordPress (establezca la zona horaria en Nueva York), la hora universal (UTC) es 2018-10-01 13:00:15. La hora local es 2018-10-01 09:00:15.

lo que se muestra aquí es mi hora correcta para UTC y luego se aplican 4 horas EXTRA…. haciendo 4 horas por detrás de la hora real.

puedes verlo aqui …
https://www.chelmsforddogassociation.org/about-us/volunteering/
el plugin se muestra a veces 4 horas antes de los tiempos reales … porque le dije que el evento comienza a las 9 am EDT, por lo que muestra las 5 am EDT.

(@ alegremente)

Hace 2 años, 2 meses

Si está diciendo que WordPress muestra la hora correcta en Configuración, y la publicación realizada por un plugin muestra la hora incorrecta, me gustaría concluir que el plugin tiene el problema.

Si creó el trabajo y luego cambió la hora, aún utiliza el tiempo ahorrado cuando se creó el trabajo.

(@parientes)

Hace 2 años, 2 meses

Ese es mi punto … es un comportamiento muy extraño.

WordPress muestra los valores INCORRECTOS en la página Configuración general.

Los tiempos de trabajo en sí son los correctos.

Sin embargo, casi todos los plugins son reemplazados por servertime-4 (que termina como utc-8) en lugar de UTC-4

Entonces, aunque admito que no he revisado todo el código, ya que el sitio es incorrecto y todos los plugins que usan esa configuración son incorrectos, el error está en el código de WordPress, en alguna parte.

El plugin voluntario es a veces la única demostración de front-end a la que puedo vincular fácilmente …

Esta respuesta fue modificada hace 2 años, 2 meses por.

(@ alegremente)

Hace 2 años, 2 meses

Estoy confundido. Dijiste que UTC está 4 horas adelantado a tu tiempo, y

Sin embargo, en la configuración general de WordPress (establezca la zona horaria en Nueva York), la hora universal (UTC) es 2018-10-01 13:00:15. La hora local es 2018-10-01 09:00:15.

muestra que se adelanta 4 horas a su tiempo. Pero tu dices eso

WordPress muestra los valores INCORRECTOS en la página Configuración general.

Cuando selecciona una zona horaria en WordPress, no está configurando la zona horaria para el servidor, sino para las fechas guardadas en la base de datos. Realmente ahorra dos veces. El servidor puede estar en una zona horaria diferente.

Curiosamente, ¿está utilizando un servidor de Windows? Hace que el tiempo sea un poco diferente al de Linux. Por cierto, hay un boleto para intentar estandarizar todo el tiempo. No he visto nada al respecto en el último mes, pero se ha trabajado antes.

Si los plugins que está utilizando obtienen tiempo del servidor y lo combinan con el tiempo de WordPress, puede ser un desastre. Pero los plugins deberían usar el tiempo de WordPress y estar bien.

(@markrh)

Hace 2 años, 2 meses

Los tiempos en la página de Configuración general siempre se habían ido para mí. En el archivo PHP.INI configuré date.timezone = America/Chicago y elegí Chicago en el menú desplegable de configuración general. Pero, muestra «La hora universal (UTC) es 2018-10-02 00:53:32. La hora local 2018-10-01 es 19:53:32. «

Ahora mismo son las 12:53 a.m. del medio tiempo, localmente. La hora UTC debería ser las 5:53 a. M.

Ahora, todas mis publicaciones y cosas se muestran en el momento adecuado en que se publicaron, etc. Creo que las funciones de tiempo en esta página son un desastre.

Creo que lo que está sucediendo es asumir que PHP está configurado para la hora UTC y no para la mitad del tiempo. Debería mirar el código real y ver qué está haciendo. Me parece recordar haber hecho esto antes.

Esta respuesta fue modificada hace 2 años, 2 meses por.

(@markrh)

Hace 2 años, 2 meses

Bueno, arreglé mi pregunta. En las funciones de mi theme.php parece que tenía lo siguiente:
date_default_timezone_set('America/Chicago');

Dije esa línea y ahora la Configuración general muestra:
Universal time (UTC) is 2018-10-02 07:22:34. Local time is 2018-10-02 02:22:34.

Eso coincide con lo que debería ser.

Entonces es posible que algo similar lo esté causando en tu caso. Sin embargo, no tiene sentido que esto le moleste.

(@parientes)

Hace 2 años, 2 meses

Gracias por la sugerencia Mark: revisé los archivos del tema y no pude encontrar ninguna definición de zona horaria en ninguno de ellos. 🙁

Joy, la pregunta no es la diferencia de 4 horas, el problema es el tiempo básico en que se aplica la diferencia de 4 horas.

Sin embargo, en la configuración general de WordPress (establezca la zona horaria en Nueva York), la hora universal (UTC) es 2018-10-01 13:00:15. La hora local es 2018-10-01 09:00:15.

Cuando dije esto, la hora local EDT 2018-10-01 fue 13:00:15 Sin embargo, la configuración de WordPress lo estaba leyendo como UTC y luego se agregó una diferencia EXTRA de 4 horas. aplicarles…. Entonces WordPress muestra UTC como UTC-4 en lugar de UTC-0 y la hora local se mostró como UTC-8 en lugar de UTC-4

… y no, mi servidor apache está con php7

Como dije, lo realmente extraño de esto es que 1- muestra la configuración general de forma incorrecta. (UTC-8) 2- Algunos plugins muestran la hora incorrecta (UTC-8) (por ejemplo, la publicación en los registros de redes sociales como una publicación UTC-8, y la página de voluntarios documenta la hora del evento. Como UTC- 8) 3- Sin embargo – POSTS y PAGES (hora de publicación, hora de edición, etc.) muestran la hora correcta (UTC-4)

El plugin parece estar directamente relacionado con ese elemento incorrecto 1 … y los plugins que usan la hora / zona horaria en la configuración general usan la misma función (los dos plugins que enumeré anteriormente dijeron que mire la ubicación general de la zona horaria)

(@markrh)

Hace 2 años, 2 meses

Aquí hay algo para comprobar. Instale phpinfo WordPress () | Plugin de WordPress.org y cuando haya terminado, vaya a Configuración -> Información de PHP. Desplácese hacia abajo hasta la sección de fecha y verifique los siguientes tres valores:


Default timezone 	UTC 
Directive	Local Value	Master Value
date.timezone	America/Chicago	America/New_York

Están ahí para mi navegador web, que se encuentra en la zona horaria del este.

Si vuelvo a poner esa línea en las funciones my.php, la zona horaria predeterminada cambia a America/Chicago en lugar de UTC.

Por lo tanto, puede intentar agregar lo siguiente en el archivo functions.php para su tema:
date_default_timezone_set('UTC');

(@ otto42)

Administración de WordPress.org

Hace 2 años, 2 meses

Hola. Puedo explicar esto. Reescribí gran parte del sistema de zona horaria actual en WordPress hace muchos años.

WordPress fue originalmente una aplicación PHP 4. PHP no tenía un buen soporte para las zonas horarias. Entonces, no tenía soporte de zona horaria. Solo tenía tiempo y una compensación manual. Por supuesto, esto era desagradable cuando tenía que cambiar el reloj dos veces al año.

Cuando surgió la compatibilidad con PHP 5 y comenzamos a admitir zonas horarias, agregamos esta compatibilidad a WordPress. En ese momento, PHP 4 todavía era compatible, por lo que se agregó de la siguiente manera. Cuando PHP encuentra compatibilidad con la zona horaria, WordPress establece la zona horaria predeterminada en UTC y utiliza la configuración de la página de configuración general para calcular el desplazamiento en sí. Este desplazamiento se aplica luego mediante un filtro de WordPress a los puntos donde se necesita.

En resumen, WordPress no usa el soporte de PHP nativo para las zonas horarias, pero reafirma la mayor parte del código de administración de tiempo internamente, y solo usa el soporte de zona horaria de PHP para calcular el desplazamiento.

Entonces, cuando cambia la zona horaria predeterminada para PHP, cambia la suposición básica que usa WordPress (UTC es la zona horaria predeterminada) y, por lo tanto, se corrige en exceso.

En general, esto es algo que debe corregirse en WordPress. Probablemente haya algunas entradas para pistas. Sin embargo, no es un proyecto pequeño y, aunque es probable que mejore considerablemente la velocidad, no se le ha dado prioridad. Básicamente, todos están abordando todo para eliminar todo el código adicional y demás, pero terminan en el mismo lugar donde comenzó, y otros plugins y códigos que pueden hacer las mismas suposiciones. Romper WordPress.

TL; DR: llamadas de WordPress date_default_timezone_set('UTC') en el archivo wp-settings.php, muy pronto. Si lo cambia en cualquier momento posterior, WordPress anulará el cálculo de la zona horaria. No lo cambie, no lo vuelva a cambiar cuando haya terminado lo que esté haciendo.

(@markrh)

Hace 2 años, 2 meses

Ah .. gracias por la explicación. Las cosas tienen mucho más sentido ahora.

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *