Después de actualizar WP, sigue insistiendo sobre una versión más nueva. ¿Por qué?

8

Actualicé WP a la versión 3.9.2 (actualmente la última) a través de Git, que funciona bien. Sin embargo, en el administrador sigue diciéndome "hay una versión más nueva disponible". Después de cavar de alguna manera, parece estar relacionado con el paquete de idioma. Me he WPLANGpuesto a nl_NL.

En el wp-includes/update.phparchivo, se wp_version_check()verifica con el servidor de WordPress las versiones más nuevas que usan una URL como esta:

http://api.wordpress.org/core/version-check/1.7/?version=3.9.2&php=5.5.11&mysql=5.5.15&local_package=&blogs=1&users=2&multisite_enabled=0&locale=nl_NL

Haga clic y notará que ofrece una respuesta con el estado "actualización", ¡pero la versión es la misma! Si elimina el argumento de configuración regional al final o lo deja vacío (URL a continuación), verá que responderá con un valor de estado de "último" y, por lo tanto, no activará actualizaciones de actualizaciones.

http://api.wordpress.org/core/version-check/1.7/?version=3.9.2&php=5.5.11&mysql=5.5.15&local_package=&blogs=1&users=2&multisite_enabled=0&locale=

Intenté vaciar el caché de WP (actualizar transitorios) pero nada cambia. ¿Alguien entiende lo que está pasando aquí? Gracias.

Geert
fuente

Respuestas:

6

El problema es que no hay valor local_packageen la URL.

Al principio pensé que esto podría ser un error. Problemas similares han sido reportados antes (ver aquí y aquí .

Luego me topé con un comentario en el ticket de trac 8729 donde el usuario nbachiyski explica cómo debería funcionar la localización:

Hay dos formas de localizar WordPress:

  1. Suelta algunos archivos de traducción.
  2. Instalar paquete localizado.

Siempre que sea posible, tratamos de hacer cumplir la segunda forma.

Entonces, así es como funciona todo:

  1. Tanto la configuración regional actual como el paquete localizado actual, instalado, se envían a la API.
  2. Si un paquete localizado para la configuración regional del usuario está disponible y el usuario no tiene el paquete localizado, se le solicita al usuario que actualice u oculte la actualización.

Puede instalar la versión holandesa de WordPress u ocultar las actualizaciones ( /wp-admin/update-core.php> Ocultar esta actualización).

Dan Bough
fuente
Gracias Dan. Desafortunadamente, instalar el paquete localizado no es posible para mí ya que estoy actualizando WP a través de Git. Es por eso que estoy actualizando manualmente los archivos de traducción. Sin embargo, los enlaces a las entradas de trac que proporcionó me ayudaron mucho.
Geert
5

La respuesta de Dan me puso en el camino correcto. Además de los archivos de idioma, un paquete WP localizado también crea la $wp_local_packagevariable enwp-includes/version.php . Si se establece esa variable, su valor se incluirá en la URL de verificación de versión y la respuesta indicará correctamente que está utilizando la última versión:

http://api.wordpress.org/core/version-check/1.7/?version=3.9.2&php=5.5.11&mysql=5.5.15&local_package=nl_NL&blogs=1&users=2&multisite_enabled=0&locale=nl_NL

Como estoy actualizando WP a través de Git, instalar paquetes localizados no es una opción. Estoy actualizando manualmente los archivos de idioma. En ese caso, para deshacerse de las actualizaciones de actualizaciones, puede definirse $wp_local_packageen su wp-config.phparchivo. Esto hará que WP piense que siempre está ejecutando el último paquete localizado:

define('WPLANG', 'nl_NL');
$wp_local_package = WPLANG; // Don’t forget to manually update the language files now
Geert
fuente