更新后,WP一直在讨论新版本。为什么?


8

我通过Git将WP更新到版本3.9.2(当前是最新版本),效果很好。但是,在管理员中它不断告诉我“有较新的版本可用”。经过某种方式的挖掘后,它似乎与语言包有关。我已经WPLANG准备好了nl_NL

wp-includes/update.php文件wp_version_check()中,使用类似URL的WordPress服务器检查较新版本:

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

单击它,您会注意到它提供了状态为“ upgrade”的响应,但是版本相同!如果您在最后删除语言环境参数或将其保留为空(下面的URL),则会看到状态参数为“最新”的答案,因此不会触发更新操作。

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=

我尝试刷新WP缓存(更新瞬态),但没有任何变化。有人知道这里发生了什么吗?谢谢。

Answers:


6

问题是,local_packageURL中没有值。

起初,我认为这可能是一个错误。以前也曾报道过类似的问题(请参见此处此处)

然后,我偶然发现了追踪票8729中的评论,其中用户nbachiyski解释了本地化应如何工作:

有两种本地化WordPress的方法:

  1. 删除一些翻译文件。
  2. 安装本地化的软件包。

只要有可能,我们都会尝试执行第二种方法。

因此,这是整个过程的工作方式:

  1. 当前的语言环境和已安装的当前本地化软件包都将发送到API。
  2. 如果有针对用户语言环境的本地化软件包,而用户没有该本地化软件包,则系统将提示用户升级或隐藏升级。

您可以安装荷兰语版WordPress或隐藏它的更新(/wp-admin/update-core.php>隐藏此更新)。


谢谢你,丹。不幸的是,由于我要通过Git升级WP,因此无法安装本地化的软件包。这就是为什么我手动更新翻译文件。但是,您提供的火车票链接对我有很大帮助。
盖尔特2014年

5

丹的回答使我走上了正确的道路。除语言文件外,本地化的WP软件包还在中创建了$wp_local_package变量wp-includes/version.php。如果设置了该变量,则其值将包含在版本检查URL中,然后响应将正确地表明您正在使用最新版本:

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

由于我是通过Git更新WP,因此无法选择安装本地化软件包。我正在手动更新语言文件。在这种情况下,为了摆脱更新障碍,您可以$wp_local_packagewp-config.php文件中定义自己。这将使WP认为您一直在运行最新的本地化软件包:

define('WPLANG', 'nl_NL');
$wp_local_package = WPLANG; // Don’t forget to manually update the language files now
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.