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:
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{
function widget_gue(){}
function form(){}
function update(){}
function widget(){}
}
add_action('widgets_init', create_function('', 'return register_widget("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;
if ($judul) echo $before_title.$judul.$after_title;
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
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;
if ($judul) echo $before_title.$judul.$after_title;
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