Sau khi cập nhật, WP tiếp tục cằn nhằn về một phiên bản mới hơn. Tại sao?


8

Tôi đã cập nhật WP lên phiên bản 3.9.2 (hiện tại là mới nhất) thông qua Git hoạt động tốt. Tuy nhiên, trong quản trị viên, nó cứ liên tục nói với tôi về một phiên bản mới hơn có sẵn. Sau khi đào một số cách nào đó, nó dường như có liên quan đến gói ngôn ngữ. Tôi đã WPLANGthiết lập nl_NL.

Trong wp-includes/update.phptệp wp_version_check()kiểm tra đối với máy chủ WordPress để biết các phiên bản mới hơn bằng URL như thế này:

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

Nhấp vào nó và bạn sẽ nhận thấy nó cung cấp phản hồi với trạng thái nâng cấp, nhưng phiên bản vẫn như vậy!? Nếu bạn xóa đối số ngôn ngữ ở cuối hoặc để trống (URL bên dưới), bạn sẽ thấy nó sẽ trả lời với giá trị trạng thái của phiên bản mới nhất và do đó không kích hoạt cập nhật.

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

Tôi đã thử xóa bộ đệm WP (cập nhật tạm thời) nhưng không có gì thay đổi. Bất cứ ai cũng có được những gì đang xảy ra ở đây? Cảm ơn.

Câu trả lời:


6

Vấn đề là, không có giá trị local_packagetrong URL.

Lúc đầu tôi nghĩ đây có thể là một lỗi. Các vấn đề tương tự đã được báo cáo trước đây (xem tại đâyđây .

Sau đó, tôi tình cờ nhận xét về vé trac 8729 nơi người dùng nbachiyski giải thích cách hoạt động của nội địa hóa:

Có hai cách để bản địa hóa WordPress:

  1. Thả một số tập tin dịch.
  2. Cài đặt gói nội địa hóa.

Bất cứ khi nào có thể, chúng tôi cố gắng thực thi cách thứ 2.

Vì vậy, đây là cách toàn bộ hoạt động:

  1. Cả ngôn ngữ hiện tại và gói nội địa hóa hiện tại, đã cài đặt, đều được gửi đến API.
  2. Nếu gói nội địa hóa cho ngôn ngữ của người dùng khả dụng và người dùng không có gói nội địa hóa, người dùng sẽ được nhắc nâng cấp hoặc ẩn cập nhật.

Bạn có thể cài đặt phiên bản WordPress tiếng Hà Lan hoặc ẩn các bản cập nhật cho nó ( /wp-admin/update-core.php> Ẩn bản cập nhật này).


Cảm ơn bạn, Dan. Thật không may, việc cài đặt gói nội địa hóa là không thể đối với tôi vì tôi đang nâng cấp WP thông qua Git. Đó là lý do tại sao tôi cập nhật thủ công các tệp dịch. Tuy nhiên, các liên kết đến vé trac bạn cung cấp đã giúp tôi rất nhiều.
Geert

5

Câu trả lời của Dan đưa tôi đi đúng hướng. Ngoài các tệp ngôn ngữ, gói WP được bản địa hóa cũng tạo ra $wp_local_packagebiến trongwp-includes/version.php . Nếu biến đó được đặt, giá trị của nó sẽ được bao gồm trong URL kiểm tra phiên bản và sau đó phản hồi sẽ nói chính xác bạn đang sử dụng phiên bản mới nhất:

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&bloss=1&users=2&multisite_enatted=0&locale=

Vì tôi đang cập nhật WP qua Git, cài đặt các gói nội địa hóa không phải là một tùy chọn. Tôi đang cập nhật thủ công các tệp ngôn ngữ. Trong trường hợp đó, để thoát khỏi các cập nhật, bạn có thể $wp_local_packagetự xác định trong wp-config.phptệp của mình . Điều này sẽ khiến WP nghĩ rằng bạn luôn chạy gói nội địa hóa mới nhất:

define('WPLANG', 'nl_NL');
$wp_local_package = WPLANG; // Don’t forget to manually update the language files now
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.