Membuat Plugin WordPress sendiri (Bagian 1)

Setelah tanpa hasil keluar masuk toko buku Togamas dan Karisma di Sidoarjo dalam berburu buku panduan membuat plugin WordPress, akhirnya saya putuskan untuk mempelajarinya langsung step by step dari dokumen panduan resmi WordPress yang dirilis www.wordpress.org di http://codex.wordpress.org/Writing_a_Plugin.

Ilustrasi: www.webcreate.me

Sejatinya, antum semua bisa main translate panduan tersebut via Google Translate. Bahkan artikel ini juga pada awalnya hanya terjemahan via Google Translate dengan sedikit perbaikan bahasa. Hanya kemudian, setelah ditimbang-timbang dan dibaca-baca ulang, artikel awal terasa seperti buatan mesin, no humanity, no sense of humor, no unpredictable thing, no me, yang biasanya ada di sebuah artikel yang menyenangkan untuk dibaca. Dan saya sadar betul bahwa ini adalah tutorial pemrograman, bukan standing up comedy script, jadi saya putuskan untuk mencoba memadukan kakunya metode pemrograman dengan luwesnya jari-jemari saya... he he he.

Okelah... Let's start!!

Sebelum berbicara tentang apa itu Plugin, saya berasumsi bahwa antum sudah:

1. Mahir blogging menggunakan WordPress versi pribadi (di www.wordpress.org).

2. Menguasai administrasi WordPress (Themes, Posts, Pages, Categories, Users, Plugins dan Settings).

3. Menguasai HTML, lebih baik lagi jika CSS juga.

4. Menguasai PHP, minimal pemrograman String dan MySQL.

Kalau antum belum punya 4 hal yang di atas, maka ada kemungkinan antum akan kebingungan ketika mengikuti serial artikel ini. Tapi jangan panik, antum bisa coba dulu belajar nge-blog via www.wordpress.com sedikit demi sedikit, juga belajar tentang HTML di bagian lain dari blog saya ini. Adapun tentang PHP, saya mohon maaf jika belum bisa menuliskan tutorial sederhana via blog, maklumlah, saya kan pengacara; pengangguran banyak acara... :-D

Apa itu Plugin?

Secara ringkas boleh dibilang bahwa Plugin adalah program tambahan yang bisa ditancapkan (plug in) ke dalam sistem WordPress yang kita punya. Plugin memungkinkan kita menambahkan banyak fitur ke dalam blog kita, entah itu sekedar highlight dari teks yang penting di posting kita, entah itu counter pengunjung di blog kita, entah itu kalender rutin, statistik posting kita, atau bahkan menampilkan album foto dan video kita secara online.

Plugin bisa didownload bebas melalui menu Plugin di Dashboard administrasi WordPress dan meskipun ada ribuan Plugin yang ditulis banyak pengguna WordPress dan tersedia secara gratis, namun tetap saja terkadang kita tidak menemukan Plugin dengan fitur yang benar-benar pas sesuai kebutuhan kita.

Nah, artikel ini membantu antum sedikit -bener-bener sedikit- tentang cara membuat Plugin sesuai kebutuhan kita. Nggak neko-neko, nggak macem-macem, sekedar bisa menampilkan sesuatu yang berbeda di blog kita.

Bagaimana Plugin bekerja?

Jika antum punya hp Nokia berbasis Symbian, tentu terbiasa menginstal aplikasi tambahan ataupun game berbasis Java di dalamnya. Jika antum punya smartphone berbasis Android, tentu terbiasa juga mendownload melalui Google Play untuk mendapatkan App yang sesuai kebutuhan antum. Jika antum punya iPhone, Blackberry atau bahkan Windows Mobile, maka memasang aplikasi tambahan adalah sesuatu yang biasa.

Artinya, semua sistem ini (Symbian, Android, iOS, BB ataupun WM) bisa dikembangkan lebih luas. Nah, Plugin juga berfungsi sama seperti aplikasi-aplikasi yang ditanamkan di berbagai sistem operasi itu. Jadi, WordPress berfungsi sebagai sistem operasi, sementara Plugin berfungsi sebagai aplikasi tambahan.

Oleh karena itu, dibutuhkanlah jembatan yang menghubungkan antara sistem operasi ini dengan aplikasi tambahan agar berjalan lancar, terintegrasi dengan baik dan aman dari crash, bug apalagi eksploitasi fihak luar. Jembatan ini disebut sebagai API (Application Program Interface) yang menghubungkan tiap fungsi dalam Plugin agar diterjemahkan dan ditampilkan oleh WordPress sebagai bagian blog kita.

API mempunyai bagian penting yang disebut Hook yang berfungsi seperti kait pancing. Ketika suatu Plugin dirancang bahwa ia harus dijalankan jika WordPress melakukan posting misalnya, maka Plugin ini secara otomatis akan dijalankan fungsinya oleh WordPress sesuai kait atau Hook tadi. Hook ibarat saklar yang akan memicu aktifnya sebuah Plugin yang terinstall di WordPress.

Maka bisa difahami bahwa Plugin bekerja berdasarkan aktif tidaknya Hook tadi. Jika WordPress menjumpai suatu Hook sudah didefinisikan untuk mengaktifkan Plugin tertentu, maka secara otomatis WordPress akan menjalankannya sebagai bagian proses eksekusi sistemnya hingga mampu menghasilkan fungsi khusus yang terintegrasi, hal ini layaknya App "jam analog" di sistem Android yang akan otomatis muncul dan berjalan di layar utama tanpa kita minta.

Okeh... malam ini sampai di sini dulu, insya Allah besok, besok lusa, atau besok-besoknya lagi akan saya sambung.

8 comments:

  1. Wah, programmer professional berkunjung... saya mundur saja lah...

    ReplyDelete
  2. mungkin gak ya bikin plugin untuk notifikasi setiap ada komentar baru pake sms gateway? mohon bimbingannya

    ReplyDelete
  3. sangat memungkinkan untuk membuat plugin untuk notifikasi via sms gateway.
    beberapa link yang bisa digunakan untuk membangun ide ini:
    http://wammu.eu/ ----> SMS Gateway open source yang mendukung php dan mysql.
    http://blog.rosihanari.net/setting-gammu-untuk-aplikasi-sms-gateway/ ----> tutorial gammu
    http://wordpress.org/extend/plugins/wp-sendsms/ ----> plugin yang sudah jadi yang bisa dibedah dan dimodifikasi sesuai kebutuhan

    untuk Bulk SMS Provider Indonesia, bisa googling dengan keyword: "indonesia Bulk SMS Provider" dan sayangnya masih berbayar...


    mohon maaf bila belum mengcover kebutuhan anda

    ReplyDelete
  4. artikel awal yang bagus mas. oke next bagian 2 nya mana nih ? :( hikss

    ReplyDelete
  5. Afwan brothers... sangat terlambat saya updatenya, beberapa proyek PHP pribadi saya cukup menyita waktu.

    Silahkan bagian ke-2:

    https://ustadzku.wordpress.com/2015/02/03/membuat-plugin-wordpress-sendiri-bagian-2/

    ReplyDelete

Terbaru

recentposts

Sementara Itu

randomposts