Plugin WordPress Boilerplate 101: Cara Memulai

Plugin WordPress Boilerplate 101: Cara Memulai

Plugin WordPress Boilerplate 101: Cara Memulai
СОДЕРЖАНИЕ
02 июня 2020

Sejak dimulainya plugin WordPress sekitar 10 tahun yang lalu tidak banyak yang berubah dalam cara kita menulisnya. Ada file plugin utama dengan tajuk diikuti oleh Wild West pada dasarnya. Selain menggunakan pengait, tidak ada cara standar membuat pengaya.


Ini belum tentu menjadi masalah. Ada banyak plugin sederhana yang tidak memerlukan kerangka kerja pemerintahan, dan ada beberapa orang yang dapat menulis kode prosedural yang koheren. Yang mengatakan, kualitas kode dalam plugin umumnya bukan yang terbaik, kerangka kerja atau metodologi akan sangat membantu dalam meningkatkannya.

Dalam artikel ini, saya akan melihat satu solusi yang mungkin – Plugin WordPress Boilerplate. Ini dimaksudkan sebagai titik awal untuk pengembangan plugin, cara berorientasi objek untuk membuat plugin standar. Karena dikodekan dengan prinsip-prinsip OOP, ini terutama ditujukan untuk coders menengah, tetapi Anda dapat dengan mudah menggunakannya bahkan sebagai pemula jika Anda tahu apa yang terjadi di mana. Di akhir artikel ini, Anda harus tahu apa dan bagaimana Anda bisa memulainya – terlepas dari pengalaman coding Anda.

Struktur File Umum

Boilerplate dimaksudkan untuk digunakan sebagai repositori Github, jadi direktori utama berisi file yang biasa ditemukan di repositori Github. File README.md adalah readme umum dan muncul di halaman repositori utama Anda sebagai deskripsi. File CHANGELOG.md adalah untuk merekam perubahan antara versi dan file .gitignore untuk mengatur file yang harus diabaikan git saat bekerja dengan file.

Folder utama di sini plugin-name adalah tempat plugin disimpan. Strukturnya mengikuti repositori WordPress, dan Anda bisa "mendaftar" folder ini ke repo plugin SVN. Secara default, ini berisi folder aset, yang menyimpan gambar dan tangkapan layar untuk plugin Anda, dan folder trunk, yang berisi kode untuk plugin.

Folder trunk adalah yang berisi plugin, Anda bisa menempelkan folder ini ke instalasi WordPress dan mengaktifkan plugin Anda. Kami akan melihat isi folder ini secara mendetail beberapa saat kemudian. Sebelum kita melakukannya, mari kita siapkan toko.

plugin baru

Mengatur Semuanya

Memiliki semua folder ini dan kehebatan SVN / Git di satu tempat semuanya baik dan bagus, tetapi bagaimana Anda bisa benar-benar menggunakan ini? Anda tidak dapat memeriksa seluruh folder langsung ke folder plugin Anda, itu tidak akan berfungsi. Memeriksa hanya direktori trunk itu merepotkan, plus Anda tidak akan memiliki akses ke file di luar direktori itu.

Biarkan saya menunjukkan kepada Anda cara favorit saya mengatur segalanya. Saya memiliki folder di komputer saya dengan struktur berikut:

  • github
    • Penulis Teratas
    • Gambar Unggulan Mudah
    • Twitter-User-Timelines
  • html
    • wp-admin
    • konten-wp
    • wp-termasuk
    • file wordpress lainnya
  • wordpress
    • penulis top
    • gambar yang mudah ditampilkan
    • twitter-user-timeline

Folder html adalah tempat WordPress diinstal. Folder github berisi semua plugin WordPress saya dari Github. Folder wordpress berisi plugin yang sama yang ditarik melalui SVN dari repositori WordPress.

Langkah pertama yang saya ambil adalah membuat versi vanilla dari WordPress Plugin Boilerplate di Github. Saya kemudian memeriksanya ke folder github saya. Selanjutnya, saya membuat symlink antara folder trunk di dalam ke direktori wp-content / plugins dari instalasi WordPress saya.

Symlinks adalah referensi ke file atau folder yang sesuai dengan target seperti yang Anda harapkan. Hasil akhir dari ini adalah bahwa jika Anda symlink plugin dari mana saja di sistem Anda ke direktori WordPress Anda, itu akan berfungsi dengan baik. Ini memberi Anda manfaat berikut:

  • Anda dapat menyimpan plugin di tempat lain.
  • Anda dapat symlink folder dari dalam repositori yang lebih besar.
  • Anda dapat menghubungkan symlink plugin yang sama ke beberapa instalasi.

Membuat symlink mudah dari terminal atau command prompt pada Windows. Saya sarankan membuka satu dan menavigasi ke direktori plugin instalasi WordPress Anda. Kemudian, ketikkan perintah berikut:

# Untuk OSX atau Linux
ln -s / absolute / path / ke / github / My-Plugin-Name / my-plugin-name / trunk my-plugin-name

# Untuk Windows
mklink / j C: \ absolute \ path \ to \ github \ My-Plugin-Name my-plugin-name

Ini menciptakan tautan dari jalur pertama ke yang kedua. Path pertama adalah path absolut ke direktori trunk di repositori Github Anda. Yang kedua hanya nama folder yang ingin Anda tautkan ketika Anda sudah berada di direktori plugin instalasi WordPress Anda.

Setelah selesai, Anda akan melihat plugin baru Anda muncul, seperti pada gambar di atas. Kita perlu menyesuaikan hal-hal, tetapi kita sekarang memiliki plugin kita berjalan dari repositori Github, membuat pengembangan a banyak lebih mudah.

Mengganti nama

Ada banyak folder dan file di dalam direktori trunk, mari mulai mengubah nama mereka! Pertama-tama, saya sarankan Anda memberi nama repositori Anda menggunakan tanda hubung dan huruf kapital, sesuatu seperti ini: My-Awesome-Plugin. Folder utama di dalamnya harus dinamai ‘my-awesome-plugin’. Saya sarankan menggunakan konvensi ini di seluruh plugin.

Mengganti nama file dengan mudah di OSX. Buka semua folder dan pilih semua file yang memiliki string-nama plugin di dalamnya. Klik kanan untuk mengganti nama semua 14 file dan batch mengubah nama lot.

ganti nama

Ini akan menjadi sedikit lebih sulit di Windows, lihat ini HowToGeek artikel untuk info lebih lanjut, atau hanya pergi satu per satu.

Ketentuan suka "nama-plugin" dan variasi lainnya tersebar di seluruh isi file juga. Kamu bisa menggunakan Sublim, Atom.io atau editor teks yang mampu menggantikan massal dalam banyak file. Berikut adalah daftar apa yang harus Anda ganti (pastikan untuk melakukan pencarian-penggantian-case-sensitive).

  • plugin_name harus menjadi my_awesome_plugin
  • Plugin_Name harus menjadi My_Awesome_Plugin
  • nama-plugin seharusnya menjadi my-awesome-plugin

Setelah selesai, pastikan untuk mengisi komentar tajuk file utama (my-awesome-plugin.php) untuk menyesuaikannya dengan kebutuhan Anda.

Daftar Isi

Ada banyak yang terkandung dalam Plugin WordPress Boilerplate. Idenya adalah untuk menetapkan pedoman ketat di mana Anda dapat meletakkan sesuatu. Ada satu tempat khusus untuk menambahkan kait Anda misalnya, tempat standar untuk menambahkan fungsi ujung depan dan sebagainya. Mari kita lihat bagian utama kerangka ini.

Perhatikan bahwa saya akan merujuk ke file-file yang telah diubah namanya, misalnya: include / class-my-awesome-plugin.php. Jika Anda telah mengganti nama plugin Anda menjadi sesuatu yang lain, Anda harus ingat bahwa bagian my-awesome-plugin dari nama file akan berbeda untuk Anda.

Aktivasi, Deaktivasi, dan Penghapusan Instalasi

Kode apa pun yang ingin Anda jalankan ketika plugin diaktifkan harus masuk menyertakan / my-awesome-plugin-name-activator.php. Dalam file ini, ada kelas bernama My_Awesome_Plugin_Activator di dalamnya ada metode activ () yang harus Anda gunakan.

Jangan khawatir jika Anda belum mempercepat objek, mengetahui di mana harus meletakkan barang akan cukup untuk memulai.

Kode yang Anda perlukan untuk menjalankan penonaktifan harus ditempatkan di include / my-awesome-plugin-name-deactivator.php. Metode activ () dalam My_Awesome_Plugin_Deactivator adalah apa yang perlu Anda gunakan.

Apakah Anda pikir ini agak terlalu rumit? Saya tidak menyalahkan Anda! Saat Anda mulai menggunakan konsep berorientasi objek, Anda akan melihat manfaat dari kode prosedural ini. Jika tidak ada yang lain, ini memberikan tempat yang sangat jelas untuk meletakkan kode Anda yang dengan sendirinya sangat membantu.

Untuk menghapus instalasi, metode yang disarankan adalah menggunakan uninstall.php yang merupakan apa yang dilakukan Plugin WordPress Boilerplate. Kode Anda harus ditempatkan di bagian paling bawah dari file itu.

Menambahkan kait

Hooks ditangani oleh WordPress Plugin Boilerplate dengan luar biasa, tetapi mungkin kelihatannya agak sulit pada awalnya. Semua kait Anda harus ditempatkan di dalam include / class-my-awesome-plugin.php. Lebih khusus lagi, di dalam kelas My_Awesome_Plugin, dalam dua metode:

  • define_public_hooks () saat menambahkan kait yang digunakan di front-end
  • define_admin_hooks () saat menambahkan hook yang digunakan di back-end

Alih-alih menggunakan add_action () atau add_filter () seperti biasa, Anda harus melakukan hal-hal yang sedikit berbeda. Di sini adalah bagaimana Anda memodifikasi konten posting.

$ ini->pemuat->add_action (‘the_content’, $ plugin_public, ‘memodifikasi_post_content’);

Parameter pertama adalah nama hook, yang kedua adalah referensi ke objek publik atau admin. Untuk kait publik ini harus $ plugin_public, untuk admin kait itu harus $ plugin_admin. Parameter ketiga adalah fungsi terkait.

Meskipun kelihatannya lebih berbelit-belit, ia membakukan penambahan kait sepenuhnya, membaginya menjadi dua kelompok berbeda dalam proses.

Konten Publik dan Admin

Plugin WordPress Boilerplate membagi kait menjadi admin / grup publik, tetapi itu belum semuanya. Itu membagi semua kode Anda dengan cara yang sama dengan meminta Anda untuk menulis kode menghadap publik di folder publik dan kode yang menghadap admin di folder admin.

Kedua folder berisi folder css, js dan sebagian. Anda harus menempatkan aset CSS / JS yang digunakan ke dalam folder ini dan menulis templat dan bit HTML lain yang dapat digunakan kembali ke folder parsial. Tidak apa-apa untuk membuat file baru di folder parsial, pada kenyataannya, itulah gunanya untuk itu!

Anda harus menulis fungsi terkait Anda di folder ini juga, di dalam kelas di direktori masing-masing. Ketika kami mengaitkan fungsi mod_post_konten ke konten_konten di atas, kami memberi tahu WordPress Plugin Boilerplate di mana mencarinya juga. Karena kami menambahkan ini ke sisi yang menghadap publik, WordPress Plugin Boilerplate mengharapkannya didefinisikan dalam kelas My_Awesome_Plugin_Public yang ada di folder publik. Cukup buat fungsi ini di dalam kelas dan tulis semuanya seperti biasa.

Sumber Daya Dan Ketergantungan

Jika Anda ingin menggunakan sumber daya eksternal, seperti Aktivasi plugin TGM, Anda harus menambahkan itu ke folder include. TGM adalah file tunggal bernama class-tgm-plugin-aktivasi.php yang harus dimasukkan dalam file class-my-awesome-plugin.php, dalam metode load_dependencies ():

require_once plugin_dir_path (dirname (__FILE__)). ‘termasuk / class-tgm-plugin-aktivasi.php’;

Gambaran

Apakah Anda bingung dengan semua nama file dan fungsinya? Jangan khawatir, Anda akan terbiasa dengan cepat. Bahkan, Anda biasanya akan memodifikasi hanya tiga file:

  • termasuk / class-my-awesome-plugin.php adalah tempat Anda menambahkan semua kait dan dependensi Anda.
  • public / class-my-awesome-plugin-public.php adalah tempat Anda menambahkan semua fungsi menghadap publik.
  • admin / class-my-awesome-plugin-admin.php adalah tempat pergi semua fungsi yang dihadapi admin.

Pada awalnya, menggunakan WordPress Plugin Boilerplate mungkin tampak merepotkan, tetapi pada akhirnya akan terbayar. Anda akan kembali setahun kemudian dan tahu di mana semuanya berada, pengembangan plugin Anda akan distandarisasi di seluruh produk dan pengembang lain akan dapat mengetahui apa yang sedang terjadi juga.

Akhirnya, jangan lupa bahwa plugin yang menyediakan widget sederhana mungkin tidak membutuhkan kerangka kerja seperti itu. Sementara penggunaan WordPress Plugin Boilerplate tidak akan memperlambat plugin Anda, hal itu menyumbat tampilan jika yang Anda butuhkan hanyalah beberapa baris kode sederhana!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Это интересно
    Adblock
    detector