Nach dem Update nörgelt WP immer wieder an einer neueren Version. Warum?

8

Ich habe WP über Git auf Version 3.9.2 (derzeit die neueste) aktualisiert, was gut funktioniert. Im Administrator wird mir jedoch immer wieder mitgeteilt, dass eine neuere Version verfügbar ist. Nach einigem Graben scheint es irgendwie mit dem Sprachpaket zu tun zu haben. Ich habe mich WPLANGeingestellt nl_NL.

In der wp-includes/update.phpDatei wird wp_version_check()anhand einer URL wie folgt gegen den WordPress-Server nach neueren Versionen gesucht:

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

Klicken Sie darauf und Sie werden feststellen, dass eine Antwort mit dem Status "Upgrade" angezeigt wird, die Version jedoch dieselbe ist!? Wenn Sie das Gebietsschema-Argument am Ende entfernen oder es leer lassen (URL unten), wird es mit dem Statuswert "Neueste" beantwortet und löst daher keine Aktualisierungsprobleme aus.

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=

Ich habe versucht, den WP-Cache zu leeren (Transienten aktualisieren), aber nichts ändert sich. Bekommt jemand was hier los ist? Vielen Dank.

Geert
quelle

Antworten:

6

Das Problem ist, dass local_packagedie URL keinen Wert für enthält .

Zuerst dachte ich, das könnte ein Fehler sein. Ähnliche Probleme wurden bereits gemeldet (siehe hier und hier .

Ich bin dann auf einen Kommentar im Trac-Ticket 8729 gestoßen, in dem Benutzer nbachiyski erklärt, wie die Lokalisierung funktionieren sollte:

Es gibt zwei Möglichkeiten, WordPress zu lokalisieren:

  1. Löschen Sie einige Übersetzungsdateien.
  2. Installieren Sie das lokalisierte Paket.

Wann immer möglich versuchen wir, den 2. Weg durchzusetzen.

So funktioniert das Ganze:

  1. Sowohl das aktuelle Gebietsschema als auch das aktuell installierte lokalisierte Paket werden an die API gesendet.
  2. Wenn ein lokalisiertes Paket für das Gebietsschema des Benutzers verfügbar ist und der Benutzer nicht über das lokalisierte Paket verfügt, wird der Benutzer aufgefordert, ein Upgrade durchzuführen oder das Update auszublenden.

Sie können entweder die niederländische Version von WordPress installieren oder die Updates dafür ausblenden ( /wp-admin/update-core.php> Dieses Update ausblenden).

Dan Bough
quelle
Danke, Dan. Leider ist die Installation des lokalisierten Pakets für mich nicht möglich, da ich WP über Git aktualisiere. Deshalb aktualisiere ich Übersetzungsdateien manuell. Die Links zu den von Ihnen bereitgestellten Trac-Tickets haben mir jedoch sehr geholfen.
Geert
5

Dans Antwort brachte mich auf den richtigen Weg. Zusätzlich zu den Sprachdateien erstellt ein lokalisiertes WP-Paket die $wp_local_packageVariable inwp-includes/version.php . Wenn diese Variable festgelegt ist, wird ihr Wert in die Versionsprüfungs-URL aufgenommen, und in der Antwort wird korrekt angegeben, dass Sie die neueste Version verwenden:

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

Da ich WP über Git aktualisiere, ist die Installation lokalisierter Pakete keine Option. Ich aktualisiere die Sprachdateien manuell. In diesem Fall können $wp_local_packageSie sich in Ihrer wp-config.phpDatei definieren, um die Aktualisierungsprobleme zu beseitigen . Dies lässt WP denken, dass Sie immer das neueste lokalisierte Paket ausführen:

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