Apa pentingnya menulis plugin <WP 3.x yang kompatibel saat ini?

8

Saat ini saya sedang menulis plugin sederhana-ish dengan posting khusus dan beberapa fungsi, menggunakan metadata posting dan menambahkan beberapa variabel ke tabel "opsi" dalam database. Selama penelitian saya, saya melihat beberapa referensi di WP Codex tentang membuat plugin yang kompatibel dengan versi sebelum WP 3.x dan saya hanya bertanya-tanya betapa pentingnya sekarang untuk memasukkan kompatibilitas itu.

Misalnya, versi WP tertua yang pernah saya lihat terpasang (oleh klien) adalah 3,2, atau di suatu tempat di sekitar sana. Saya tidak dapat membayangkan banyak orang yang memiliki usia lebih dari 3.x tetapi saya bisa salah. Saya tahu secara teori Anda harus selalu berusaha membuatnya sangat kompatibel tetapi, secara realistis, apakah ada yang tahu betapa pentingnya memasukkan kemampuan itu?

Terima kasih

Mike Stumpf
sumber
5
Silakan menentukan X di 3.x . Dalam skema versi WordPress, XY adalah versi utama . Jadi, 3.0 tidak lebih atau kurang utama dari 3.1. Juga: pertanyaan ini mungkin tidak cocok untuk WPSE seperti yang ditulis, karena kemungkinan untuk meminta pendapat dan diskusi, daripada jawaban berdasarkan keahlian khusus.
Chip Bennett
1
Saya pikir saya membaca sesuatu yang mengatakan WP setelah 2,9 berubah secara signifikan sehingga itulah yang saya maksud. Jangan ragu untuk mengedit jika Anda bisa membuatnya lebih jelas :)
Mike Stumpf

Jawaban:

10

Selalu tulis plugin untuk versi saat ini dan ingatlah build malam dari versi yang akan datang. Hal lain tidak masalah.

Sunting Seperti @toscho tunjukkan dalam komentar:

Mungkin ada beberapa penjelasan yang diperlukan mengapa itu terjadi .

  1. Karena aku bilang begitu.
  2. Plugin hanya perlu mematuhi inti karena jika semua bermain dengan aturan, tidak ada yang akan gagal. Jika satu plugin tidak bermain dengan aturan, maka ia memiliki bug . Dan bug itu perlu diperbaiki dan bukan hal lain dan bukan plugin atau tema lain.
  3. Pengguna yang tidak memperbarui WordPress adalah hasil dari plugin buggy yang digunakan dan tidak dapat ditinggalkan dalam sistem tanpa banyak pekerjaan. Seperti ditulis dalam (2), itu bug yang tidak perlu Anda pedulikan. Bug perlu diperbaiki, bukan plugin Anda yang mempertimbangkan kode pihak ketiga yang rusak.
  4. Kode Lama tidak memerlukan dukungan. Perlu diganti. Bukan masalahmu.
  5. Banyak hal berubah dalam skala besar dibandingkan versi XX utama. Ketika Anda mencoba untuk mendukung versi sebelumnya, Anda sering memerlukan solusi yang berbeda dan banyak pemeriksaan versi. Itu adalah (a) mimpi buruk pemeliharaan (b) meningkatkan basis kode (c) membuat unit test tidak mungkin karena mereka harus berjalan pada satu versi - tidak kurang, tidak lebih dan akhirnya (d) mengurangi ruang disk server dan kinerja (dalam Kebanyakan kasus).
  6. WordPress sudah memiliki basis kode yang sangat lama yang tidak memiliki peningkatan di banyak sisi dan sudut. Singkatnya: WordPress sudah tua, menggunakan versi PHP yang tidak lagi didukung sebagai minimum dan oleh karena itu Anda sudah mendukung versi sebelumnya di tingkat yang jauh lebih rendah daripada di API publik aplikasi Anda.

Sekarang tanyakan pada diri sendiri:

Ketika Anda sudah mendukung versi PHP yang tidak lagi didukung, mengapa Anda ingin mendukung aplikasi yang bahkan tidak didukung oleh pembuatnya?

kaisar
sumber
Silakan tambahkan penjelasan untuk jawaban Anda: mengapa ?
fuxia
Bagus :) Itu masuk akal. Terima kasih atas bantuan Anda
Mike Stumpf
5

Ingat pelepasan WordPress 3.0 diperlukan PHP5. Pada saat itu, banyak perusahaan hosting belum menjalankan PHP5 di server mereka. Jadi ada periode waktu ketika beberapa situs WordPress TIDAK BISA memperbarui ke WordPress 3.0 karena perusahaan hosting mereka tidak memperbarui server mereka.

Bertahun-tahun sekarang telah berlalu (3+) sejak rilis WordPress 3.0, jadi menjadi kompatibel dengan WordPress <3.x bukanlah plugin yang sangat umum.

Rachel Baker
sumber
Ok, saya tidak tahu itu. Tapi itu masuk akal. Terima kasih!
Mike Stumpf
5

Sebagian besar instalasi WordPress sudah usang . Saat ini, hanya 5,2% dari semua instalasi yang berjalan pada rilis terbaru 3.6.
27,3% masih di versi 3.0.

Anda mungkin berpikir Anda harus mendukung versi lama ini dengan kode yang kompatibel. Tetapi pikirkan implikasinya:

  • Anda harus menguji semua versi yang didukung secara resmi.
  • Anda harus menangani API yang tidak kompatibel seperti pengunggah media, yang berubah secara drastis dalam 3,5.
  • Anda membuat pengguna Anda berpikir tidak masalah untuk tidak memperbarui WordPress, karena masih berfungsi.
  • Anda memerlukan lebih banyak kode, lebih banyak tes, dan lebih banyak waktu untuk dukungan untuk melakukan hal yang sama.

Dan pengguna ini mungkin bahkan tidak akan menginstal plugin Anda karena mereka tahu sudah ada plugin baru yang merusak situs mereka. Dalam hal jangkauan pasar, Anda mungkin menang sedikit dengan kode yang kompatibel mundur. Dalam hal efisiensi Anda kalah.

fuxia
sumber
Terima kasih atas masukannya. Saya tidak membahas grafik itu, ini adalah sumber yang bagus. Apa yang Anda katakan masuk akal.
Mike Stumpf
4

Aturan praktis saya untuk plugin yang saya tulis adalah dukungan untuk versi saat ini minus 1, jadi semua plugin yang saya tulis akan kompatibel dengan 3.6.x dan 3.5.x. Sementara plugin tertentu dapat berfungsi pada versi sebelumnya, saya tidak menjamin atau mendukungnya jika Anda mengalami masalah.

JohnG
sumber
3

Empat bulan lalu, saya mengambil alih pemeliharaan plugin yang populer. Sebelum saya mulai mengerjakannya, plugin tidak memiliki pembaruan dalam 2 tahun. Saya membuat banyak perbaikan bug, merilis versi baru, dan 2 hari kemudian mendengar dari seorang pria yang mengatakan versi baru menyebabkan layar putih kematian di situsnya. Setelah saya melihatnya, dia masih menjalankan WordPress 2.9.2, dan pembaruan saya menggunakan fungsi home_url, yang diperkenalkan di 3.0. Saya tidak tahu mengapa orang itu memutuskan untuk segera memperbarui plugin ini, meskipun dia belum memperbarui instalasi WordPress-nya dalam 3 tahun. Ketika saya membuat versi baru, saya tidak pernah berpikir untuk menguji WordPress 2.9.2.

Berikut ini adalah moral cerita: Di file readme.txt plugin Anda , ada nomor versi "Membutuhkan setidaknya" di header. Gunakan. Saat Anda membuat pembaruan, jika Anda tidak ingin menguji versi lama, tambahkan saja. Itu akan mencegah pengguna menolak memperbarui instalasi WordPress mereka dari memperbarui plugin Anda.

Saat ini saya sedang menulis sebuah plugin baru yang terkait, dan saya berencana membuatnya hanya WordPress 3.6, karena saya ingin menggunakan pustaka getid3 yang termasuk dalam inti. Saya tidak punya keinginan untuk merilis plugin baru untuk versi inti lama.

Ben Miller - Ingat Monica
sumber
Terima kasih atas sarannya. Saya berencana mengujinya untuk beberapa versi yang dilakukan dari 3.6 tapi saya mungkin hanya melakukan satu seperti @JohnG disebutkan. Terima kasih!
Mike Stumpf