it-swarm-id.com

Mengaitkan ke plugin

Saya sedang mengerjakan sebuah plugin yang idealnya dapat melakukan hal-hal ketika pengguna melakukan sesuatu melalui berbeda plugin.

Saya dapat menambahkan pengait khusus di plugin itu, tetapi jelas ini tidak berfungsi dengan baik ketika saya ingin mendistribusikan plugin saya. Apakah ada cara yang baik untuk menambahkan kait ke plugin orang lain dari plugin saya sendiri? Apakah satu-satunya solusi nyata untuk meminta penulis untuk menyertakan kait kustom sehingga pengembang lain dapat membangun dari pekerjaan mereka?

Contoh: Saya ingin melakukan sesuatu di plugin saya ketika seseorang me-retweet sebuah artikel. Jika ada pengait khusus pada plugin retweet populer apa pun yang dapat saya gunakan untuk terhubung, itu akan menjadi luar biasa. Tidak ada, jadi saya bisa memodifikasi plugin mereka untuk memasukkannya, tetapi itu hanya berfungsi untuk salinan saya, dan saya tidak ingin mencoba mendistribusikannya kembali.

Apakah kita hanya perlu mencoba dan menjadi pengembang plugin yang lebih baik sehingga kita semua bisa bermain Nice bersama?

12
Ryan Elkins

@Ryan Elkins:

Saya kira jawabannya tergantung pada bagaimana impor setiap kasus penggunaan adalah untuk Anda. Dalam beberapa kasus itu akan menjadi sesuatu yang Anda butuhkan cepat dan kotor, dalam kasus lain itu mungkin kasus penggunaan yang lebih signifikan. Berikut adalah dua hal yang terlintas dalam pikiran:

Cari Kait Alternatif dalam WordPress Core

Jika itu sesuatu yang cepat dan kotor beberapa kali Anda dapat menggunakan kait hilir lainnya dari inti untuk memodifikasi apa yang Anda butuhkan, atau kait kait hulu dan hilir melalui penggunaan ob_start()/ob_end_clean() (lihat @Todd Perkins jawab to "Berurusan dengan output HTML besar melalui kode plugin"untuk contoh kode.)

Untuk melacak kait yang bisa Anda gunakan, periksa plugin Instrument Hooks Saya diposting kemarin untuk membantu Anda menemukan kait yang berpotensi Anda gunakan.

Kirim Patch dengan Kait yang Diinginkan ke Pengembang Plugin

Jika use-case Anda lebih penting bagi Anda atau komunitas, saya sarankan untuk terus maju dan menambahkan hook yang Anda butuhkan ke plugin. Kemudian ujilah dengan baik untuk memastikannya benar-benar menangani kasus penggunaan Anda dan setelah itu Anda dapat mengirimkan tambalan kepada pengembang plugin dengan harapan ia akan menerapkannya. Dengan cara ini Anda membuatnya semudah mungkin pada mereka dengan memberi mereka kode teruji dan Anda bisa mengerjakan sendiri use case untuk memastikan itu benar-benar apa yang Anda butuhkan. Saya tidak dapat memberi tahu Anda seberapa sering saya pikir saya memerlukan kait tertentu hanya untuk menemukan setelah mencoba menerapkan satu saya membutuhkan sebuah kait tetapi yang berbeda dari yang saya bayangkan sebelumnya.

Jika Anda tidak terbiasa membuat tambalan di sini adalah artikel yang bagus tentang menambal inti WordPress yang sebagian besar berlaku untuk menambal plugin dan bagi yang tidak, semoga akan jelas apa yang harus dilakukan:

Semoga ini membantu?

P.S. Satu hal yang saya temukan agak mengecewakan dan bahwa alamat pertanyaan Anda adalah persentase plugin yang dirancang hanya untuk pengguna akhir, yaitu yang tidak memiliki kaitannya sendiri. Bayangkan jika WordPress dirancang seperti kebanyakan plugin? Ini akan menjadi tidak fleksibel dan solusi yang sangat niche.

Mungkin hal akan berbeda jika WordPress memiliki kemampuan untuk menginstal secara otomatis plugin yang bergantung pada plugin lain? Karena saya biasanya harus menulis banyak fungsi yang saya butuhkan dari awal karena klien menginginkan sesuatu dengan cara tertentu dan plugin yang tersedia, sementara 90% di sana tidak memungkinkan saya fleksibilitas untuk memperbarui 10% sisanya.

Saya benar-benar berharap mereka yang memimpin komunitas WordPress akan mengidentifikasi cara untuk memastikan bahwa plugin dihargai untuk mengikuti praktik terbaik (seperti menambahkan kait untuk pengembang lain) seperti halnya jawaban yang baik diberikan pada situs StackExchange.

6
MikeSchinkel

Apakah kita hanya perlu mencoba dan  to menjadi pengembang plugin yang lebih baik sehingga kita semua bisa bermain Nice bersama-sama?

Sebagai permulaan, ya.

Apakah satu-satunya solusi nyata untuk meminta penulis untuk menyertakan kait kustom sehingga pengembang lain dapat membangun dari pekerjaan mereka?

Itu akan menjadi solusi yang bagus.

Anda juga dapat menyalin plugin lain dan hanya menambahkan perubahan apa pun, meskipun itu akan lebih merepotkan.

2
Arlen Beiler

Saya pikir Anda menjawab pertanyaan Anda dalam pertanyaan, sehingga menjadi sedikit retoris.

Jelas Anda sedang berbicara tentang sistem yang mirip dengan yang didukung Google dengan Android dan sistem Intent, bahwa aplikasi dapat mempublikasikan tindakan yang dapat dilakukan atas nama aplikasi lain, yang kemudian dapat menghubungkannya dan mengirimkan data kembali dan sebagainya Secara pribadi saya pikir itu adalah sesuatu yang perlu kita tuju sebagai pengembang yang baik - kita menggunakan WordPress karena itu sudah luar biasa, cukup luar biasa untuk membuat keputusan apakah akan menggunakannya atau mengembangkan produk dalam-rumah yang serupa cukup mudah dalam banyak kasus. Repositori plugin itu sendiri lagi-lagi hal yang sama, sebagian besar sebagai pengguna akhir + pengembang - mengapa mengembangkan plugin Twitter ketika ada yang sangat bagus.

'Mengapa mengembangkan duplikat' yang sama adalah inti dari pertanyaan Anda di sini. Sistem Android Intent memungkinkan aplikasi untuk memanfaatkan fungsi yang sudah dibuat, dan meneruskan data di antara mereka, dan ini populer dan sering digunakan, karena didorong sangat berat. Ada sistem serupa yang sudah diterapkan ke WordPress, tetapi sangat jarang digunakan di luar kait yang ada dalam kode inti, yang digunakan banyak.

Akan bermanfaat bagi komunitas jika ada lebih banyak pengait di plugin khusus, tetapi seperti yang Anda katakan, tidak ada cara mudah untuk menambahkan pengait ketika/di mana Anda membutuhkannya.

Dalam hal plugin Twitter yang ingin Anda hubungi, kirimkan email kepada pembuatnya, saya yakin dia akan dengan senang hati menambahkannya untuk Anda.

Jika ada tempat yang menurut Anda akan menjadi tempat yang baik untuk memasang pengait di plugin Anda, lakukan, dan dokumentasikan dengan baik. Jika lebih banyak orang mulai memasukkan kait ke dalam plugin, atau ada dorongan umum untuk melakukannya, itu akan terjadi pada akhirnya.

Jadi untuk menjawab pertanyaan terakhir Anda:

Apakah kita hanya perlu mencoba dan menjadi pengembang plugin yang lebih baik sehingga kita semua bisa bermain Nice bersama?

Iya nih.


Sunting: Saya sudah memikirkan lebih lanjut tentang pertanyaan aktual dan cara terbaik menerapkan kait, tidak bisakah Anda menambahkan tindakan yang akan berjalan jika fungsi tertentu yang Anda coba jalankan dari plugin ada?

2
nobody

mendefinisikan suatu fungsi:

function my_footer() {
    do_action('my_footer');
}

sekarang Anda dapat menghubungkan hook ini: add_action('my_footer', 'example_function', 1); # informasi lebih lanjut lihat di posting saya .

0
bueltge