Tutorial Cara Membuat Widget di WordPress

Di dalam wordpress tentunya sudah banyak widget-widget yang dibuat oleh para developer. Bagi mereka yang sudahtua di wordpress membuat sebuah widget bukanlah hal yang sulit, tapi mungkin banyak pemula yang bertanya-tanya bagaimana sih cara membuat widget di wordpress??
Nah, disini saya akan menjelaskan cara membuat widget wordpress itu sendiri.  Untuk latihan, kita akan membuat widget ini dalam sebuah plugin. Oke, untuk permulaan silahkan buat sebuah file baru di wp-content/plugin dengan nama widget_gue.php. Lalu isi dengan code ini:

/*
Plugin Name: Widget Gue
Plugin URI: http://www.domain.com
Description: Sebuah widget sederhana
Author: Nur Rohmat
Version: 1
*/
Author URI: http://www.domain.com
Next.. Ada 3 fungsi (function) utama dari sebuah widget, yaitu:
  • function form()
  • function update()
  • function widget()

Kerangka Dasar

Kerangka dasar dari sebuah widget wordpress sebenarnya sangat sederhana. Coba perhatikan kode di bawah ini:
class widget_gue extends WP_Widget{ //Contoh widget class
function widget_gue(){} //Pengaturan widget (nama,deskripsi,dll)
function form(){} //form di halaman admin
function update(){} //fungsi ketika widget diupdate/ disimpan
function widget(){} //tampilan dari sebuah widget
}
add_action('widgets_init', create_function('', 'return register_widget("widget_gue");')); // fungsi untuk me-load widget_gue

 Langkah 1

Kita akan membungkus widget ini dalam sebuah class.Nama dari class ini sangat penting. Nama class dan namafunction harus sama.
class widget_gue extends WP_Widget{}
Selanjutnya kita akan memberi identitas dari widget tersebut. Sebagai contoh kita akan memberikan nama .
function widget_gue(){
parent::WP_Widget(false, $name=__('Widget GUE','wp_widget'));
}

Langkah 2  function form()

Tahap selanjutnya kita akan membuat form di halaman admin. Sebagai contoh kita akan menambahkan sebuah text input (untuk judul widget) dan sebuah textarea (untuk isi widget).
function form($instance){
if ($instance){
$teks=esc_attr($instance['teks']);
$isi=esc_attr($instance['isi']);
}
else{
$teks='';
$isi='';
}
?>
<label for="<?php echo $this->get_field_id('teks');?>">
<?php _e('Judul','wp_widget_plugin');?>
</label>
<input class="widefat" type="text" name="<?php echo $this->get_field_name('teks');?>" id=<?php echo $this->get_field_id('teks');?> value="<?php echo $teks;?>" />
<label for="<?php echo $this->get_field_id('teks');?>">
<?php _e('Isi','wp_widget_plugin');?>
</label>
<textarea name="<?php echo $this->get_field_name('isi');?>" id="<?php echo $this->get_field_name('isi');?>"><?php echo $isi;?></textarea>
<?php
}

Langkah 3 function update()

Fungsi update digunakan  untuk menyimpan data yang di inputkan user ke dalam form. Syntax-nya cukup sederhana
function update($new_instance,$old_instance){
$instance=$old_instance;
$instance['teks']=strip_tags($new_instance['teks']);
$instance['isi']=strip_tags($new_instance['isi']);
return $instance;
}

Langkah 4 function widget()

Langkah selanjutnya kita akan mengatur tampilan dari widget yang kita buat. Kita akan menampilkan judul dan parameter lain yang dapat di edit user di menu widget. Kita juga akan menambahkan variabel-variabel khusus seperti$before_widget, $after_widget, $ before_title, dan$after_title.
function widget($args,$instance){
extract($args);
$judul=apply_filters('widget_title',$instance['teks']);
$isi=$instance['isi'];
echo $before_widget;
//Tampilkan judul
if ($judul) echo $before_title.$judul.$after_title;
//Tampilkan isi
if( $isi) echo '<div class="panel-body">'.$isi.'</div>';
echo $after_widget;
}

 Langkah 5

Langkah terakhir nih. Kita akan me-load widget_gue dengan menggunakan fungsi add_action().
add_action('widgets_init', create_function('', 'return register_widget("widget_gue");'));
Yups, itu langkah-langkah sederhana dalam membuat widget di wordpress. Untuk kode selengkapnya seperti ini:

<?php
/*
Plugin Name: Widget Gue
Plugin URI: http://www.domain.com
Description: Sebuah widget sederhana
Author: Nur Rohmat
Version: 1
*/
Author URI: http://www.domain.com
class widget_gue extends WP_Widget{
#info widget
function widget_gue(){
parent::WP_Widget(false, $name=__('Widget GUE','wp_widget'));
}
#form widget
function form($instance){
if ($instance){
$teks=esc_attr($instance['teks']);
$isi=esc_attr($instance['isi']);
}
else{
$teks='';
$isi='';
}
?>
<label for="<?php echo $this->get_field_id('teks');?>">
<?php _e('Judul','wp_widget_plugin');?>
</label>
<input class="widefat" type="text" name="<?php echo $this->get_field_name('teks');?>" id=<?php echo $this->get_field_id('teks');?> value="<?php echo $teks;?>" />
<label for="<?php echo $this->get_field_id('teks');?>">
<?php _e('Isi','wp_widget_plugin');?>
</label>
<textarea name="<?php echo $this->get_field_name('isi');?>" id="<?php echo $this->get_field_name('isi');?>"><?php echo $isi;?></textarea>
<?php
}
#update
function update($new_instance,$old_instance){
$instance=$old_instance;
$instance['teks']=strip_tags($new_instance['teks']);
$instance['isi']=strip_tags($new_instance['isi']);
return $instance;
}
#Tampilan
function widget($args,$instance){
extract($args);
$judul=apply_filters('widget_title',$instance['teks']);
$isi=$instance['isi'];
echo $before_widget;
//Tampilkan judul
if ($judul) echo $before_title.$judul.$after_title;
//Tampilkan isi
if( $isi) echo '<div class="panel-body">'.$isi.'</div>';
echo $after_widget;
}
}
add_action('widgets_init', create_function('', 'return register_widget("widget_gue");'));
?>
Sekian tutorial cara membuat widget di wordpress, semoga dapat membantu anda dalam mengerjakan project pembuatan website dengan menggunakan wordpress.

No comments:

Post a Comment

 

Entri Populer

WE_TUTORIAL

Saya adalah seorang blogger pemula jadi maklumi jika masih ada kekurangan....Read More