WordPress

Membuat Plugin WordPress Sendiri dengan Mudah

Membuat Plugin WordPress Sendiri dengan Mudah

Pengenalan

Di tutorial plugin WordPress ini, Anda akan mempelajari cara membuat plugin WordPress di halaman admin sendiri. Alasan terpenting mengapa Anda harus membuat plugin adalah plugin memperbolehkan Anda untuk memisahkan kode Anda sendiri dari kode inti WordPress. Meski ada masalah yang terjadi pada plugin Anda, maka sisa bagian situs akan terus berfungsi.

Mengubah kode inti WP dapat mengakibatkan masalah besar. Dengan fitur plugin lebih canggih yang dimiliki WordPress, Anda dapat membuat plugin yang bisa mengubah atau mengganti cara kerja fungsi inti tanpa harus mengubah kode.

Yang Anda Butuhkan untuk Membuat Plugin WordPress

Untuk menyelesaikan langkah-langkah di tutorial membuat plugin WordPress ini, Anda membutuhkan text editor, seperti Notepad++ atau NetBeans. Anda juga membutuhkan akses FTP ke akun hosting Anda dan install WordPress.

Anda dapat mempelajari cara menghubungkan Notepad++ ke server FTP dengan membaca tutorial cara terhubung ke FTP dengan Notepad++. Anda juga dapat menggunakan perangkat lunak FTP, seperti FileZilla, untuk mengupload file Anda. Tutorial cara menggunakan FileZilla akan membantu Anda.

Tutorial membuat plugin WordPress ini ditujukan bagi pengguna atau orang yang telah memiliki pengetahuan dasar mengenai PHP. Anda akan membuat fungsi baru, menggunakan fungsi WordPress yang sudah ada menggunakan parameter, dan menulis komentar PHP.

Kami juga sangat menyarankan Anda untuk melakukan backup website sebelum memulai proses selanjutnya.

Apa Itu Plugin WordPress?

Plugin WordPress merupakan seperangkat kode mandiri yang menaikkan dan mengembangkan fungsionalitas WordPress. Dengan menggunakan kombinasi PHP, HTML, CSS, JavaScript/jQuery, atau bahasa pemrograman web lainnya, plugin dapat menambahkan fitur baru ke semua bagian website Anda, termasuk Control Panel Admin. Anda dapat mengubah karateristik standar WordPress, atau menghapus total karateristik yang tidak diinginkan. Plugin memperbolehkan Anda untuk melakukan kustomisasi dan personalisasi WordPress sesuai kebutuhan.

WordPress dan temanya menjalankan update regular. Kecuali jika Anda menggunakan WordPress child theme, pada saat functions.php ditimpa dengan update, maka kode baru Anda akan terhapus dan Anda harus menulis ulang. Apabila Anda menulis banyak fungsi dan salah satunya menampilkan pesan error bahwa Anda tidak bisa melakukan debug, maka Anda harus mengganti keseluruhan file dengan yang asli, menghapus semua perubahan yang telah Anda buat. Jika fungsi Anda terhapus dari file, website Anda akan mengalami error PHP di mana error ini akan ‘memanggil’ fungsi yang hilang.

Plugin tidak pernah secara otomatis tertimpa atau terhapus pada saat Anda memperbarui WordPress. Jika plugin Anda menampilkan kode error, Anda bisa menonaktifkannya di Control Panel Admin ketika hendak memperbaikinya. Jika plugin Anda menampilkan error yang cukup serius, terkadang WordPress akan secara otomatis menonaktifkannya untuk Anda dan memperbolehkan situs Anda tetap berfungsi.

Apa Itu Hooks?

Plugin WordPress berinteraksi dengan kode inti menggunakan hooks. Ada dua jenis hook yang berbeda.

  1. Action hook (Untuk menambahkan/menghapus fungsi)
  2. Filter hook (Untuk mengubah data yang dibuat oleh fungsi)

Actions dan Action Hook

Ketika Anda membuat halaman apa pun di website WordPress, seperangkat fungsi PHP (yang diberi nama actions) diaktifkan di beberapa titik, dan melekat pada action hooks. Dengan menggunakan action hooks yang diberikan oleh WordPress, Anda dapat menambahkan fungsi Anda sendiri ke daftar actions yang berfungsi pada saat action hook dijalankan, dan Anda juga dapat menghapus fungsi yang sudah ada sebelumnya dari action hook mana pun. Action hook memberi perintah ketika action dijalankan. Sebelum menutup tag </head> di halaman mana pun, action hook wp_head() diaktifkan, dan action yang terhubung ke wp_head() dijalankan.

Action hook bersifat kontekstual – beberapa diaktifkan di tiap halaman website Anda, sedangkan yang lain hanya diaktifkan ketika melihat Control Panel Admin, dan seterusnya. Daftar penuh dari action hook dan konteks di mana action hook diaktifkan dapat ditemukan di halaman WordPress Plugin API/Action Reference.

Menambahkan Fungsi ke Action Hook Menggunakan add_action()

Untuk menambahkan fungsi ke action hook mana pun, plugin Anda harus mengaktifkan fungsi WordPress add_action(), dengan setidaknya dua parameter.

  • Parameter pertama yang dibutuhkan adalah nama action hook yang ingin Anda lampirkan/lekatkan.
  • Parameter kedua yang dibutuhkan adalah nama fungsi yang ingin Anda jalankan.
  • Parameter ketiga (opsional) adalah priority fungsi yang ingin Anda jalankan. Anda dapat menghubungkan (hook) angka mana pun dari fungsi yang berbeda ke action hook yang sama, dan mengaktifkannya dengan cara apa pun. Priority standar adalah 10, membuat fungsi custom Anda setelah fungsi yang telah dibuat/terinstall di dalam WordPress. Fungsi dengan priority 11 akan dijalankan kemudian, dan seterusnya.
  • Parameter keempat (opsional) merupakan number of arguments, yang mengindikasikan jumlah paramater yang bisa digunaka oleh fungsi custom Anda. Standarnya adalah 1.

Contoh Kode Plugin untuk Menampilkan Teks Setelah Footer di Setiap Halaman

Plugin menghubungkan (hook) action hook wp_footer, yang diaktifkan tepat sebelum menutup tag </body> di setiap halaman, dan menambahkan fungsi baru mfp_Add_text(). Karena ini merupakan bagian dari plugin dan bukannya tema, maka fungsi baru tersebut akan tetap berfungsi meskipun Anda mengaktifkan tema yang berbeda sepenuhnya. Anda dapat menyimpan contoh ini sebagai file PHP, menguploadnya ke folder wp-content/plugins/ dan mengaktifkannya di Control Panel Admin untuk melihat perubahannya.

Hasil akhir:

WordPress Plugin Tutorial - Creating Simple Plugin

CATATAN: Anda dapat mengaktifkan add_action() sebelum membuat fungsi Anda sendiri karena PHP akan mengevaluasi seluruh script sebelum menjalankannya. Menulis fungsi add_action() mengaktifkan bagian atas file sesuai urutan agar dapat dijalankan. Kemudian membuat fungsi dengan urutan yang sama akan membuat file lebih mudah dibaca.

Menghapus Fungsi dari Action Hook Menggunakan remove_action()

Untuk menghapus action dari action hook, Anda harus membuat fungsi baru remove_action(), kemudian aktifkan fungsi yang telah Anda buat tersebut menggunakan add_action().Contoh di bawah ini akan mempermudah pemahaman Anda.

Anda harus memberi setidaknya dua informasi sebagai parameter kepada remove_action().

  • Parameter pertama yang dibutuhkan adalah nama action hook yang fungsinya dihubungkan.
  • Parameter kedua yang dibutuhkan adalah nama function yang ingin hapus.
  • Parameter ketiga (opsional) adalah priority dari fungsi awal (pertama). Parameter ini harus sama dengan priority yang telah dibuat pada saat menambahkan action ke action hook. Jika Anda tidak membuat piority di fungsi custom Anda, maka jangan menyertakan parameter.

Contoh: seandainya Anda tidak ingin menambahkan teks di footer agar muncul di hari senin, seperti yang Anda lihat di contoh sebelumnya. Salah satu cara untuk melakukannya adalah dengan menggunakan fungsi tanggal pada PHP untuk mendapatkan tanggal hari ini, yang diikuti dengan pernyataan kondisional if…then… untuk mengetes apakah hari ini adalah hari Senin, lalu aktifkan remove_action() jika hari ini adalah hari Senin. Aktifkan fungsi tersebut dengan menggunakan add_action(), menghubungkan (hook) action hook apa pun yang ingin Anda pakai. Jika Anda mencoba melakukan hook pada action hook yang muncul setelah wp_footer, seperti yang Anda lihat di contoh ini, maka action tersebut tidak akan terhapus dari hook karena telah dijalankan.

Filter dan Filter Hook

Fungsi filter memperbolehkan Anda untuk mengubah data hasil yang dikembalikan oleh fungsi yang sudah Anda dan harus terhubung (hook) ke salah satu filter hook. Filter hook yang tersedia berbeda dari action hook. Sebenarnya karateristik filter hook hampir sama dengan action hook karena filter hook tersebut diaktifkan di berbagai titik dalam script dan bersifat kontekstual. Daftar filter hook dan konteksnya di mana filter hook tersebut diaktifkan dapat ditemukan di halaman WordPress Plugin API/Filter Reference.

Menambahkan Filter Menggunakan add_filter()

Untuk menambahkan fungsi filter ke filter hook mana pun, plugn Anda harus mengaktifkan fungsi WordPress add_filter(), dengan setidaknya dua parameter.

  • Parameter pertama yang dibutuhkan adalah nama filter hook yang ingin Anda hubungkan (hook).
  • Parameter kedua yang dibutuhkan adalah nama fungsi filter yang ingin Anda jalankan.
  • Parameter ketiga (opsional) adalah priority dari fungsi yang ingin Anda jalankan. Anda dapat melampirkan angka mana pun dari fungsi filter yang berbeda di filter hook. Priority standar adalah 10, membuat fungsi custom Anda setelah fungsi yang telah terinstall atau dibuat di dalamnya. Fungsi dengan priority 11 akan dijalankan kemudian, dan seterusnya.
  • Parameter keempat (opsional) adalah number of agreement, yang mengindikasikan jumlah parameter yang bisa digunakan oleh fungsi filter custom Anda. Standarnya adalah 1.

Contoh Plugin untuk Mengubah Excerpt Post

WordPress memiliki fungsi yang menerima excerpt post get_the_excerpt, yang juga merupakan filter hook. Fungsi tersebut berfungsi untuk menampilkan fungsi excerpt get_the_excerpt() untuk menerima, di sinilah filter digunakan dan excerpt diubah sebelum ditampilkan. Plugin ni membuat fungsi filter yang menerima excerpt tersebut sebagai satu-satunya parameter input, menambahkan beberapa teks sebelumnya, dan mengembalikan value baru tiap kali get_the_excerpt() diaktifkan. Karena value fungsi get_the_excerpt() merupakan teks excerpt yang aktual, maka value tersebut akan secara otomatis dimasukkan sebagai parameter fungsi $old_Excerpt saat diaktifkan menggunakan add_filter(). Fungsi yang Anda buat harus mengembalikan value baru.

Hasil akhir:

Created WordPress Plugin in Action

Menghapus Filter Menggunakan remove_filter()

Menghapus filter lebih mudah daripada menghapus action karena Anda dapat menggunakan fungsi remove_filter() tanpa harus membuat fungsi baru. Sebagai contoh, sekali lagi kami akan menambahkan contoh kondisional yang sederhana dan menghapus teks tersebut jika hari ini adalah hari Kamis.

Setelah Anda memahami pemahaman dasar mengenai hook dan filter, kini saatnya membuat plugin WordPress sederhana yang akan menambahkan tautan dan halaman baru ke Control Panel Admin.

Langkah 1 – Menyimpan Plugin Anda

Langkah pertama untuk membuat plugin WordPress Anda adalah membuat folder untuk menyimpan seluruh file Anda. Plugin disimpan di dalam folder berikut ini: /wp-content/plugins/. Folder yang Anda buat membutuhkan nama yang unik dan deskriptif agar folder tersebut tidak bentrok dengan plugin lainnya. Buat koneksi ke akun hosting Anda dengan aplikasi FTP client. Dari direktori utama WordPress, buka wp-content, kemudian plugins. Di dalam folder plugin, buat folder baru dan beri nama my-first-plugin.

Cara Membuat Plugin WordPress - Membuat Folder Plugin WordPress dengan FTP

Agar ke depannya lebih mudah, kami menyarankan Anda untuk memisahkan berbagai file yang menyimpan plugin WordPress Anda. Lalu buat subfolder untuk masing-masing file. Cara ini lebih baik ketimbang Anda menyimpan semua file plugin di folder utama. Pada saat plugin berkembang menjadi plugin yang lebih kompleks, maka akan lebih mudah untuk mencari file yang dimaksud karena Anda sudah membeda-bedakannya. Jika plugin Anda menggunakan custom CSS, maka buat folder CSS dan simpan semua file CSS di sana. Apabila plugin Anda menggunakan JavaScript custom, maka buat folder JavaScript.

Langkah 2 – Membuat File Pertama

Penting sekali memiliki file pertama dalam plugin Anda. File tersebut memuat semua informasi WordPress yang dibutuhkan untuk menampilkan plugin Anda dalam daftar plugin, yang memperbolehkan Anda untuk mengaktifkan plugin.

Di folder my-first-plugin, buat file PHP baru dan beri nama my-first-plugin.php. Namanya memang hampir serupa dengan nama folder yang Anda berikan sebelumnya. Namun, Anda bisa mengubahnya kapan saja. Tambahkan tag PHP pembuka <?php ke baris pertama. Anda tidak perlu menambahkan tag penutup di akhir file (agar lebih jelas, baca catatan di halaman PHP manual ini). File ini, khususnya, akan menyimpan ‘header comments’ dengan berbagai informasi yagn akan dibaca/ditampilkan oleh WordPress. Header comment masuk/mengikuti multi-line PHP comment, satu untuk setiap baris dan tiap baris diawali dengan teks yang spesifik untuk menentukan acuan baris. Header comment hanya boleh mengikuti file pertama dan tidak perlu berada di dalam file lainnya.

Komentar pertama yang harus ditambahkan ke my-first-plugin.php adalah nama plugin Anda. Pertama-tama, tulis pembuka PHP multi-line comment /* di baris kedua pada file tersebut, tepat di bahwa tag pembuka PHP. Di baris ketiga, tulis Plugin Name: My First Plugin. Di baris keempat, tutup sesi komentar dengan */. File Anda akan terlihat seperti ini:

Simpan file dan upload ke folder my-first-plugin. Buka halaman Plugin di Control Panel Admin WordPress. Anda akan melihat plugin pada daftar My First Plugin dengan tautan ke Activate, Edit, dan Delete plugin. Anda dapat menambahkan berbagai informasi di sini, seperti deskripsi plugin, nama Anda sendiri, tautan ke website Anda, versi terkini dari plugin Anda, dan lain-lain. Untuk saat ini, kami hanya menambahkan deskripsi dan nama Anda.

Edit my-first-plugin.php agar terlihat seperti contoh di bawah ini, kemudian upload, lalu timpa file lama saat ditanya:

Setelah file tersebut diupload, refresh halaman Plugins di area admin WordPress. Plugin Anda dengan deskripsi baru dan By Your Name akan terlihat seperti ini.

Plugin WordPress yang baru saja kami buat di Area Admin

Langkah 3 – Menulis Fungsi Plugin Anda

Seperti yang telah Anda ketahui sebelumnya, langkah terbaik ketika membuat plugin WordPress adalah dengan menyimpan kode Anda secara terpisah ke dalam file dan folder yang benar. Karena tugas utama dari file pertama adalah menyimpan header comment, maka sudah sewajarnya menyimpan kode plugin yang tersisa ke dalam file yang terpisah di subfoldernya sendiri. Gunakan fungsi PHP ‘include’ untuk mengakses file tersebut. File apa pun yang tersimpan di subfolder akan diaktifkan secara langsung hanya oleh kode kami. Oleh karena itu, nama subfolder tidak membutuhkan prefix. Akan tetapi, sangat kami rekomendasikan agar Anda memberikan prefiks yang unik di nama semua file, fungsi, dan variabel Anda untuk menghindari terjadinya masalah dengan plugin lain. Di sini, kami mengunakan mfp sebagai prefix, yang merupakan singkatan dari ‘My First Plugin’.

Di folder utama plugin Anda, buat folder baru dan beri nama includes. File apa pun yang ‘disertakan (included)’ oleh file lain akan masuk ke folder ini. Buat file PHP baru di dalam folder includes dan simpan sebagai mfp-functions.php. Beri tag pembuka <?php di baris pertama. Di file baru ini, semua fungsi plugin Anda akan disimpan.

Kembali ke my-first-plugin.php di folder utama plugin Anda. Buat file ini agar menyertakan file mfp-functions-php sehingga kita bisa menggunakan fungsi baru. Karena file ini merupakan file plugin utama, termasuk mfp-functions.php, maka fungsi tersebut bisa digunakan untuk file lainnya di plugin Anda. Gunakan require_once untuk memastikan bahwa plugin hanya bekerja jika file fungsi tersedia. Cara termudah untuk menyertakan file dari folder plugin Anda adalah dengan menggunakan fungsi WordPress plugin_dir_path(_FILE_), yang memberikan path penuh ke direktori di mana plugin tersimpan, kemudian gunakan (tanda titik) untuk menambahkan nama subfolder yang telah kita buat sebelumnya (includes), diikuti dengan nama file yang telah kita buat (mfp-functions.php).

Edit my-first-plugin.php seperti yang ditunjukkan di bawah ini, kemudian simpan dan upload sekali lagi, lalu timpa versi sebelumnya ketika diperlukan.

Kembali ke mfp-functions.php di subfolder includes.

Merupakan ide yang bagus untuk mengelompokkan fungsi dan menuliskan multi-line comment di atas tiap grup yang mendeskripsikan grup tersebut, diikuti dengan single-line comment yang pendek di atas tiap fungsi yang secara jelas mendeskripsikannya. Dengan demikian, Anda tidak harus membaca keseluruhan kode untuk menemukan fungsi dan mencari tahu apa yang dilakukannya. Kami menamai fungsi tersebut mfp_Add_My_Admin_Link(). Fungsi tersebut akan menambahkan tautan top-level baru ke menu navigasi Control Panel Admin.

Ikuti langkah-langkah di bawah ini untuk menuliskan fungsi baru:

  • Tulis komentar (comment) yang mendeskripsikan fungsi baru.
  • Namai fungsi tersebut.
  • Tulisi fungsi tersebut.

Di mfp-functions.php, tulis:

Di dalam fungsi kami, kami menggunakan fungsi WordPress yang telah terinstall, add_menu_page(), untuk memberi nama pada menu kami, juga judul dan perintah siapa saja yang boleh melihat menu tersebut. Kemudian akan memberi notifikasi apa yang ahrus ditampilkan ketika Anda membuka halaman tersebut. Anda juga dapat memberikan ikon pada tautan menu dan mengatur letaknya di menu navigasi pada control panel Admin – kedua cara ini opsional dan kita tidak membahasnya di tutorial ini. Ikon cog standar akan ditampilkan pada tautan ke halaman kami. Tautan kami akan terlihat di bagian bawah menu navigasi pada control panel admin. Semua informasi ini dimasukkan sebagai parameter add_menu_page().

Keempat parameter add_menu_page() yang dibutuhkan akan muncul di baris parameter itu sendiri agar dapat dibaca, sesuai urutan:

  1. Judul halaman yang Anda lihat setelah mengklik tautan (ditampilkan pada tab dalam browser Anda).
  2. Teks untuk menampilkan tautan menu (ditampilkan dalam daftar navigasi pada control panel admin). Teks ini merupakan nama plugin Anda.
  3. Persyaratan kemampuan pengguna untuk melihat menu. Sebagai contoh, hanya pengguna dengan kemampuan ‘manage_optons’ yang bisa mengakses halaman tersebut (abaikan untuk saat ini).
  4. File yang digunakan untuk menampilkan halaman aktual (kita akan membuatnya nanti), yang akan disimpan di dalam subfolder includes dan diberi nama mfp-first-acp-page.php. URL yang dimasukkan ke sini disebut ‘slug’.

Sebelum lanjut ke langkah berikutnya, perlu diketahui bahwa ada cara alternatif untuk menggunakan fungsi ini. Parameter keempat bisa berupa string teks yang ditampilkan di URL setelah ‘wp-admin/admin.php?page‘. Jika Anda memasukkan ‘my-plugin-page’, maka URL-nya akan menjadi ‘wp-admin/admin.php?page=my-plugin-page.’ Parameter kelima adalah nama fungsi yang menghasilkan sesuatu. Sebagai contoh, Anda dapat menulis fungsi yang menampilkan ‘Welcome to page 1’. Secara signifikan, membuat file PHP untuk menyimpan halaman Anda sangatlah mudah.

Edit mfp-functions.php, hapus // My code goes here, ganti dengan add_menu_page(), dan berikan parameter seperti yang ditunjukkan di bawah ini:

Agar fungsi ini dapat dijalankan, kami menggunakan fungsi WordPress yang diberi nama add_action() dengan dua parameter, seperti yang dideskripsikan di bagian ‘Menambahkan Fungsi ke Action Hook’ di tutorial ini. Anda bisa membaca kembali bagian tersebut sebelum melanjutkan ke langkah berikutnya.

  • Parameter pertama yang ingin Anda targetkan adalah action hook. Dalam kasus kami, action hook adalah admin menu – ini berarti fungsi kami dijalankan pada saat Admin Menu dibuat.
  • Parameter kedua hanyalah nama fungsi yang akan dijalankan. Fungsi yang kita tulis diberi nama mfp_Add_My_Admin_Link. Perlu diingat bahwa tanda dalam kurung TIDAK digunakan di sni. PHP mengevaluasi semua script sebelum menjalankannya, sehingga memperbolehkan Anda menggunakan add_action() sebelum membuat fungsi yang diberi nama di parameter 2.

File akhir akan terlihat seperti ini:

Upload mfp-functions.php ke folder includes dan timpa folder yang lama.

 Langkah 4 – Membuat Halaman Admin Baru

Sekarang kita dapat membuat halaman yang akan ditampilkan pada saat Anda mengklik tautan di control panel admin Anda. Kembali ke subfolder includes dan buat file PHP baru yang diberi nama mfp-first-acp-page.php. Tag pembuka PHP tidak diperlukan di dalam file ini karena kita hanya akan menggunakan HTML. Tulis HTML di bawah ini, dan upload file tersebut.

Ketika membuat halaman admin, WordPress meminta untuk menutup HTML Anda dengan div dan memberikan “wrap” class, seperti yang ditunjukkan di atas. Semua konten Anda akan muncul di tempat yang benar, seperti halnya halaman admin yang lain. Jika Anda melakukannya dengan cara yang salah, maka tampilan halaman akan menjadi berantakan.

Kembali ke daftar plugin Anda di Control Panel Admin WordPress dan aktifkan plugin tersebut. Setelah halaman terload, lihat bagian bawah menu navigasi control panel admin. Ada tautan baru yang diberi nama ‘My First Plugin’. Klik tautan tersebut, dan halaman control panel admin Anda akan muncul!

Cara Membuat Plugin WordPress sendiri - Plugin Sudah Dibuat

Kesimpulan

Selamat! Untuk pertama kalinya, Anda baru saja membuat plugin WordPress sendiri, menambahkan tautan baru ke menu admin, dan menampilkan seluruh halaman baru di Control Panel Admin! Meskipun tutorial ini tak seberapa, langkah-langkahnya merupakan langkah awal yang harus Anda lakukan. Melalui tutorial ini, Anda dapat menerapkan yang telah dipelajari dan mengembangkan WordPress sesuai kebutuhan Anda. Untuk tutorial lain mengenai WordPress, dapat Anda baca di sini.

 

Gabung bersama ratusan ribu pelanggan di seluruh dunia

dan dapatkan tutorial baru langsung di email Anda

Please wait...

Abone olduğunuz için teşekkürler!

Dapatkan harga hemat!

Web Hosting Gratis Domain mulai dari

Rp.3.975
/bln