Membuat plugin dengan dependensi


21

Saya mencoba memperluas fungsionalitas plugin lain. Saya perlu mendapatkan data darinya ke dalam array untuk digunakan dengan cara yang berbeda dari plugin asli. (Dalam hal ini, Kategori WPMUDev dan plugin Daftar). Apakah ada sesuatu dalam Codex? Bagaimana saya bisa membuat plugin yang bisa menggunakan fungsi plugin lain? Bisakah saya memperluas mereka dan membangun fungsi node induk? Saya tidak yakin apakah plugin ini menggunakan kelas atau hanya fungsi langsung.

Saya hanya mencoba untuk mendapatkan data dari plugin ke widget sidebar (dalam elemen opsi bentuk), tetapi pada akhirnya saya akan menggunakan ini untuk area konten juga dengan menggunakan kode pendek khusus. Untuk saat ini saya hanya perlu tempat untuk memulai.


4
FWIW ada tiket lagu tentang topik ini core.trac.wordpress.org/ticket/22316
Norcross

Jawaban:


22

Ya, dimungkinkan untuk membuat plugin yang memperluas plugin lain. Berikut adalah beberapa ide tentang bagaimana Anda dapat melakukannya:

  1. Sebuah plugin dapat mengatur tindakannya sendiri dan menyaring kait (menggunakan do_actiondan apply_filterfungsinya) seperti halnya inti WordPress. Jika plugin yang Anda targetkan melakukan hal ini, Anda dapat menggunakan pengait ini untuk mengubah fungsionalitas.

  2. Jika plugin menggunakan struktur berorientasi objek, Anda dapat memperluas kelas dan membangun di atas plugin asli.

  3. Anda dapat membaca data yang disimpan dalam database dengan plugin asli dan menggunakannya dalam kode plugin Anda.

  4. Anda dapat memanggil fungsi apa pun dari plugin asli yang Anda sukai, setelah Anda memeriksa apakah plugin tersebut aktif dan dimuat (lihat di bawah). Berhati-hatilah dengan efek yang mungkin dimiliki fungsi selain nilai yang dikembalikan.

Anda harus memeriksa apakah plugin asli diaktifkan atau tidak. Anda dapat menggunakan is_plugin_activefungsi ini; namun, ini hanya berfungsi pada halaman admin. Atau, Anda dapat menggunakan function_existsatau class_existsuntuk memeriksa apakah fungsi atau kelas tertentu dari plugin asli tersedia, yang akan memberi tahu Anda bahwa itu sedang berjalan.

Ingatlah bahwa kapan pun plugin asli diperbarui, Anda perlu menguji plugin Anda dengan versi baru untuk mencari hal baru yang mungkin bertentangan dengan plugin Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.