pemula pembangunan plugin WordPress: Menggunakan dandang plugin wordpress
Pembangunan plug-in WordPress mempunyai lengkung pembelajaran yang rendah dan tidak hanya ada cara untuk membina pemalam. Plugin boleh semudah Hello Dolly, hanya satu fail; Plugin WordPress Plugin Boilerplate direka untuk menyediakan asas yang berkualiti tinggi yang membantu anda membina plugin hebat anda yang seterusnya. Di bahagian pertama siri ini, kami akan meneroka boilerplate secara mendalam, termasuk struktur fail dan folder, serta organisasi kod boilerplate.
mata utama
latar belakang
Boilerplate plugin WordPress pada asalnya dimulakan oleh Tom McFarlin untuk menyediakan pendekatan berorientasikan objek yang standard untuk membina plugin WordPress. Kerana boilerplate dibina di atas API plug-in dan mengikuti piawaian pengekodan dan dokumentasi yang disyorkan oleh WordPress, anda boleh memastikan bahawa anda berada dalam persekitaran yang selamat dan boleh dipercayai. Boilerplate baru -baru ini telah dikemas kini ke versi 3.0.0, membawa penambahbaikan yang ketara dalam organisasi kod dan pemisahan selanjutnya fokus dalaman plugin. Jika anda sudah biasa dengan membangunkan plugin dengan Legacy Boilerplate (v2.6.2), ia mungkin mengambil sedikit masa untuk mempelajari semula apa yang baru dalam versi terkini, termasuk struktur folder baru. Boilerplate ini tidak lagi dikekalkan oleh Tom McFarlin sendiri (pada masa penulisan), dan dia telah melewati tongkat kepada Devin Vinson. Pembangunan masih berterusan seperti yang dirancang, jadi jangan ragu untuk melaporkannya dalam repositori GitHub anda jika anda mempunyai sebarang pertanyaan. Kami juga mengalu -alukan sumbangan anda.
Dapatkan salinan template
Cara paling mudah untuk mendapatkan salinan boilerplate plugin WordPress adalah untuk mengklonkan repositori git itu sendiri.
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
Selepas anda melakukan ini, anda kini perlu mencari plugin yang dipanggil WordPress Plugin Boilerplate dalam senarai plugin di panel admin, dengan mengandaikan anda tidak membuat sebarang pengubahsuaian pada boilerplate itu sendiri. Hanya aktifkan plugin dan mulakan!
Sesuaikan pemalam dengan penjana dalam talian
Apabila diaktifkan, anda akan mempunyai plugin "normal" yang pada dasarnya tidak melakukan apa -apa - sekurang -kurangnya buat masa ini. Anda juga perlu menjalankan carian dan menggantikan operasi pada keseluruhan asas kod boilerplate, yang boleh menjadi sangat membosankan dan memakan masa. Nasib baik, Enrique Chavez mencipta penjana tidak rasmi yang mengautomasikan prosesnya. Cukup lawati https://www.php.cn/link/6340831392e9cd8af9598274f4b3c5c0
Struktur folder
Mari kita lihat lebih dekat bagaimana WordPress Plugin Boilerplate 3.0.0 dianjurkan berbanding dengan versi lama. Seperti yang dinyatakan sebelum ini, kod plugin sebenar terkandung dalam subdirektori yang dipanggil batang, bukan dalam direktori akar. Ini adalah untuk mengikuti piawaian yang digunakan dalam repositori plugin WordPress rasmi, yang mengandungi tiga direktori utama: aset, cawangan, dan batang. Boilerplate sudah menyediakan dua daripadanya: aset dan batang. Berikut adalah direktori dan fail lengkap yang termasuk dalam boilerplate (pada masa penulisan):
<code>git clone https://github.com/DevinVinson/WordPress-Plugin-Boilerplate.git</code>
Berikut adalah penerangan ringkas mengenai fungsi setiap fail dan folder:
.gitignore
: Menyediakan lalai yang munasabah .gitignore
untuk kebanyakan kandungan yang tidak sepatutnya wujud dalam repositori git. CHANGELOG.md
: Log perubahan standard untuk perubahan boilerplate, termasuk tarikh perubahan. README.md
: Starter berguna dengan arahan pemasangan yang disenaraikan, bersama dengan beberapa bahagian lain seperti cadangan alat dan pengakuan. assets
: Direktori ini mengandungi sumber yang disyorkan yang perlu anda sediakan apabila anda memutuskan untuk menerbitkan plugin ke repositori plugin WordPress. Semua imej yang terkandung dalam direktori ini adalah resolusi yang disyorkan untuk penerbitan. trunk
: Ini adalah plugin sebenar yang akan anda usahakan. Terdapat beberapa folder yang membahagikan asas kod ke dalam ciri-ciri pentadbiran dan awam. Kami akan menerangkan secara terperinci apa maksud setiap subdirektori. admin
: Direktori mengandungi tiga direktori, iaitu admin
, css
dan js
. Seperti namanya, semua ciri berorientasikan pengurusan harus diletakkan di sini. Secara lalai, partials
dan plugin-name-admin.js
ditambah ke WP-Admin anda. plugin-name-admin.css
akan menyediakan ciri-ciri umum di mana anda boleh menentukan cangkuk khusus pengurusan. class-plugin-name-admin.php
public
, satu-satunya perbezaan ialah direktori admin
digunakan untuk menyimpan semua pangkalan kod fungsional yang menghadap awam. public
languages
di mana anda boleh menyediakan fungsi terjemahan untuk plugin. .pot
includes
LICENSE.txt
README.txt
plugin-name.php
dan register_activation_hook
juga akan didaftarkan dalam fail ini. register_deactivation_hook
Termasuk kelas
Seperti yang dinyatakan sebelum ini, terdapat lima kelas lalai dalam direktori. Mari lihat apa yang dilakukan setiap kelas: trunk/includes
class-plugin-name-activator.php
: Kelas ini ditujukan semasa pengaktifan plug-in. Ia hanya mempunyai satu kaedah statik activate()
, yang didaftarkan kepada register_activation_hook
. Gunakan kelas ini setiap kali anda perlu melakukan tindakan tertentu apabila plugin diaktifkan, seperti membuat jadual tersuai atau menyimpan pilihan lalai. class-plugin-name-deactivator.php
: Kategori yang sepadan class-plugin-name-deactivator.php
. Ia juga mempunyai satu kaedah statik deactivate()
yang boleh digunakan untuk menjalankan sebarang ciri semasa penyahaktifan plugin. class-plugin-name-i18n.php
: Titik permulaan fungsi plug-in i18n. Ia mempunyai harta $domain
yang menyimpan medan teks plugin. Harta ini boleh ditetapkan menggunakan kaedah awam set_domain()
. Akhirnya, apabila plugin dimuatkan, kaedah load_plugin_textdomain()
dalam kelas ini dipanggil. class-plugin-name-loader.php
: Kelas yang paling penting dalam templat. Ia mengandungi dua sifat $actions
dan $filters
, di mana semua cangkuk yang didaftarkan dalam plugin akan disimpan. Ia menyediakan dua fungsi pembungkus mudah add_action()
dan add_filter()
untuk menambah tindakan atau penapis ke sifat $actions
dan $filters
. Ini tidak boleh dikelirukan dengan fungsi lalai WordPress add_action()
dan add_filter()
, kerana kelas tersebut sebenarnya tidak mendaftarkannya secara langsung. Semua cangkuk hanya akan didaftarkan semasa kaedah lain yang dipanggil run()
. class-plugin-name.php
: Kelas yang melekatkan semua bahagian bersama -sama. Ia mengandungi maklumat penting mengenai plugin, seperti nama dan versi plugin. Di samping itu, ia akan memuatkan kebergantungan menggunakan kaedah load_dependencies()
, yang akan mengandungi empat kelas di atas, dan medan teks plugin akan ditetapkan menggunakan kaedah set_locale()
. Semua cangkuk pentadbiran dan awam yang didaftarkan sebelum ini juga boleh ditakrifkan di sini. Kelas ini juga menyediakan kaedah GET mudah seperti get_plugin_name()
untuk mengembalikan nama plugin, get_version()
untuk mengembalikan versi plugin semasa, dan get_loader()
untuk memelihara contoh class-plugin-name-loader.php
. Kesimpulan
Pendek kata, boilerplate plugin WordPress menyediakan titik permulaan yang hebat untuk pemaju plugin. Ia mengikuti piawaian pengekodan WordPress yang disyorkan serta piawaian dokumentasi WordPress, jadi anda tahu anda berada di jalan yang betul dari awal. Di samping itu, penerbitan ke repositori plugin WordPress menjadi lebih mudah kerana boilerplate sudah menyediakan sebahagian besar daripada apa yang anda perlukan. Sebaik sahaja kita biasa dengan organisasi kod dan struktur folder, kita akan meneroka cara membangunkan plugin sebenar menggunakan boilerplate plugin WordPress di bahagian kedua siri ini.Atas ialah kandungan terperinci Mempercepatkan pembangunan menggunakan boilerplate plugin WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!