Após a atualização, o WP continua incomodando uma versão mais recente. Por quê?

8

Atualizei o WP para a versão 3.9.2 (atualmente a mais recente) via Git, que funciona bem. No entanto, no administrador, ele continua dizendo que "uma versão mais recente está disponível". Depois de algumas escavações, de alguma forma, parece estar relacionado ao pacote de idiomas. Eu estou WPLANGpronto para nl_NL.

No wp-includes/update.phparquivo, wp_version_check()verifica se há versões mais recentes no servidor WordPress usando um URL como este:

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

Clique nele e você perceberá que ele oferece uma resposta com o status "upgrade", mas a versão é a mesma !? Se você remover o argumento do código do idioma no final ou deixá-lo vazio (URL abaixo), verá que ele responderá com um valor de status de "mais recente" e, portanto, não acionará piadas de atualização.

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=

Tentei liberar o cache do WP (transientes de atualização), mas nada muda. Alguém entende o que está acontecendo aqui? Obrigado.

Geert
fonte

Respostas:

6

O problema é que não há valor local_packageno URL.

No começo, pensei que isso poderia ser um bug. Problemas semelhantes foram relatados antes (veja aqui e aqui .

Eu tropecei no comentário no bilhete trac 8729, onde o usuário nbachiyski explica como a localização deve funcionar:

Existem duas maneiras de localizar o WordPress:

  1. Solte alguns arquivos de tradução.
  2. Instale o pacote localizado.

Sempre que possível, tentamos aplicar a segunda via.

Então, aqui está como tudo funciona:

  1. O local atual e o pacote localizado atual, instalado, são enviados para a API.
  2. Se um pacote localizado para a localidade do usuário estiver disponível e o usuário não tiver o pacote localizado, será solicitado que o usuário atualize ou oculte o upgrade.

Você pode instalar a versão holandesa do WordPress ou ocultar as atualizações ( /wp-admin/update-core.php> Ocultar esta atualização).

Dan Bough
fonte
Obrigado Dan. Infelizmente, a instalação do pacote localizado não é possível para mim, pois estou atualizando o WP via Git. É por isso que estou atualizando manualmente os arquivos de tradução. No entanto, os links para os tickets trac que você forneceu me ajudaram bastante.
Geert
5

A resposta de Dan me colocou no caminho certo. Além dos arquivos de linguagem, um pacote WP localizada também cria a $wp_local_packagevariávelwp-includes/version.php . Se essa variável estiver definida, seu valor será incluído no URL de verificação da versão e a resposta informará corretamente que você está usando a versão mais recente:

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 estou atualizando o WP via Git, a instalação de pacotes localizados não é uma opção. Estou atualizando manualmente os arquivos de idioma. Nesse caso, para se livrar dos problemas da atualização, você pode $wp_local_packagese definir em seu wp-config.phparquivo. Isso fará com que o WP pense que você está sempre executando o pacote localizado mais recente:

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