Setelah memperbarui, WP terus mengomel tentang versi yang lebih baru. Mengapa?

8

Saya memperbarui WP ke versi 3.9.2 (saat ini yang terbaru) melalui Git yang berfungsi dengan baik. Namun, di admin terus memberitahu saya "versi yang lebih baru tersedia". Setelah beberapa penggalian, entah bagaimana tampaknya itu terkait dengan paket bahasa. Saya WPLANGsiap nl_NL.

Dalam wp-includes/update.phpfile wp_version_check()periksa server WordPress untuk versi yang lebih baru menggunakan URL seperti ini:

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

Klik dan Anda akan melihat itu menawarkan respons dengan status "peningkatan", namun versinya sama !? Jika Anda menghapus argumen lokal di bagian akhir atau membiarkannya kosong (URL di bawah), Anda akan melihatnya akan menjawab dengan nilai status "terbaru" dan dengan demikian tidak memicu nags pembaruan.

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=

Saya mencoba menyiram cache WP (pembaruan sementara) tetapi tidak ada yang berubah. Adakah yang mengerti apa yang terjadi di sini? Terima kasih.

Geert
sumber

Jawaban:

6

Masalahnya adalah, tidak ada nilai untuk local_packagedi URL.

Awalnya saya pikir ini mungkin bug. Masalah serupa telah dilaporkan sebelumnya (lihat di sini dan di sini .

Saya kemudian tersandung pada komentar di tiket trac 8729 di mana pengguna nbachiyski menjelaskan cara kerja pelokalan:

Ada dua cara untuk melokalkan WordPress:

  1. Jatuhkan beberapa file terjemahan.
  2. Instal paket lokal.

Bilamana mungkin kami mencoba menegakkan cara ke-2.

Jadi, inilah cara semuanya bekerja:

  1. Baik lokal saat ini dan paket lokal saat ini, diinstal, dikirim ke API.
  2. Jika paket lokal untuk pengguna lokal tersedia dan pengguna tidak memiliki paket lokal, pengguna diminta untuk meningkatkan atau menyembunyikan pembaruan.

Anda dapat menginstal WordPress versi bahasa Belanda atau menyembunyikan pembaruan untuknya ( /wp-admin/update-core.php> Sembunyikan pembaruan ini).

Dan Bough
sumber
Terima kasih, Dan. Sayangnya, menginstal paket lokal tidak memungkinkan bagi saya karena saya memutakhirkan WP melalui Git. Itu sebabnya saya memperbarui file terjemahan secara manual. Namun, tautan ke tiket trac yang Anda berikan sangat membantu saya.
Geert
5

Jawaban Dan menempatkan saya di jalan yang benar. Selain file bahasa, paket WP lokal juga membuat $wp_local_packagevariabel dalamwp-includes/version.php . Jika variabel itu disetel, nilainya akan dimasukkan dalam URL pemeriksaan versi dan responsnya kemudian akan mengatakan bahwa Anda menggunakan versi terbaru:

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

Karena saya memperbarui WP via Git, menginstal paket yang dilokalkan bukan pilihan. Saya memperbarui file bahasa secara manual. Dalam hal ini, untuk menyingkirkan pembaruan, Anda dapat menentukan $wp_local_packagesendiri di wp-config.phpfile Anda . Ini akan membuat WP berpikir Anda selalu menjalankan paket terlokalisasi terbaru:

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