Sebagai pengguna Wordpress tentunya kita sudah tidak asing lagi dengan penggunaan plugin. Mulai dari plugin galeri, keamanan website, optimasi website, dan masih banyak lagi. Namun tidak jarang plugin yang tersedia tidak sesuai dengan kebutuhan website yang kita buat. Pada kesempatan ini saya ingin membagikan tutorial untuk membuat plugin wordpress sederhana.
Pertama, buat sebuah file dengan ekstensi .php pada folder wp-content > plugins. Nama plugin yang digunakan bebas, pada tutorial ini kita gunakan nama myplugin.php. Pada file ini letakkan skrip berikut pada baris pertama file plugin yang kita buat.
/** * Plugin Name: My Plugin * Plugin URI: http://lidya1859.wordpress.com * Description: Ini plugin pertama saya. * Version: 1.0 * Author: Dewi Rosalin * Author URI: http://lidya1859.wordpress.com */
Skrip tersebut merupakan standar informasi plugin yang detailnya bisa kita ganti sesuka hati. Namun pastikan item-itemnya tidak salah, karena skrip inilah yang akan memberitahukan kepada Wordpress bahwa ada plugin yang bernama “My Plugin” sehingga Wordpress dapat menampilkan plugin tersebut ke dalam tabel manajemen plugin di wp-admin. Tanpa informasi tersebut plugin yang kita buat tidak akan nampak pada tabel manajemen plugin.
Selanjutnya, plugin yang sudah kita buat sudah terlihat di list plugin pada wp-admin. Kita bisa lihat bahwa detail yang kita isi pada skrip di atas akan muncul pada tabel plugin. Klik Activate pada plugin yang kita buat. Maka plugin kita sudah aktif.
Untuk membuat halaman konfigurasi, kita perlu menambahkan menu untuk plugin kita pada menu Setting. Dalam Wordpress tersedia action hooks yang dapat digunakan sebagai penghubung antara fungsi yang kita buat dengan fungsi yang sudah ada di Wordpress. List lengkap action hooks Wordpress dapat dilihat di sini.
Action hook yang akan kita gunakan untuk menambah menu adalah admin_menu. Selanjutnya kita buat fungsi yang akan dipanggil ketika action hook admin_menu dijalankan, dimana fungsi tersebut akan menambah menu pada menu Setting.
function mp_admin_actions() { add_options_page("My Plugin Setting", "My Plugin Setting", 1, "my_pluggin_setting", "mp_admin"); } add_action('admin_menu', 'mp_admin_actions');
Sekarang menu baru yang kita buat sudah ada di halaman admin. Jika kita klik menu tersebut, halaman admin masih kosong dan muncul pesan error seperti pada gambar di atas. Perhatikan parameter terakhir dari add_options_page. Parameter tersebut memanggil fungsi mp_admin untuk menampilkan isi menu, yang saat ini fungsi tersebut belum kita buat sehingga memunculkan pesan error. Untuk mengisi halaman kosong tersebut kita buat fungsi sebagai berikut:
<?php
function mp_admin() { ?> <div class="wrap"> <?php echo "<h2>" . __( 'Halaman Konfigurasi My Plugin', 'mp' ) . "</h2>"; ?> <form name="mp_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>"> <input type="hidden" name="mp_hidden" value="Y"> <p><?php _e("Website anda: " ); ?><input type="text" name="mp_web" value="" size="20"><?php _e(" ex: http://yourwebsite.com" ); ?></p> <p class="submit"> <input type="submit" name="Submit" value="<?php _e('Simpan Konfigurasi', 'mp' ) ?>" /> </p> </form> </div> <?php }
Sekarang sudah halaman konfigurasi sudah tersedia. Selanjutnya untuk menyimpan konfigurasi gunakan teknik pengecekan POST manual di atas kode HTML sehingga function mp_admin menjadi sebagai berikut:
<?php function mp_admin() { if(isset($_POST['mp_web'])): update_option('mp_web', $_POST['mp_web']); echo '<div class="updated"><p><strong>Updated</strong>: Data berhasil diubah</p></div>'; endif; $mp_web = get_option('mp_web'); ?> <div class="wrap"> <?php echo "<h2>" . __( 'Halaman Konfigurasi My Plugin', 'mp' ) . "</h2>"; ?> <form name="mp_form" method="post" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI']); ?>"> <input type="hidden" name="mp_hidden" value="Y"> <p><?php _e("Website anda: " ); ?><input type="text" name="mp_web" value="<?php echo $mp_web; ?>" size="20"><?php _e(" ex: http://yourwebsite.com" ); ?></p> <p class="submit"> <input type="submit" name="Submit" value="<?php _e('Simpan Konfigurasi', 'mp' ) ?>" /> </p> </form> </div> <?php }
Data website akan disimpan sebagai option di database wordpress. Jika kita lihat di database wordpress kita bisa lihat pada table wp-options dengan nama option mp_web dan option value http://jagocoding.com.
Plugin Wordpress sederhana selesai. Plugin dapat dikembangkan sesuai dengan keperluan website kita.
Sekian tutorial singkat dari saya. Semoga membantu.