Membuat Form dalam WordPress

Diketahui:

Saya mempunyai tabel wp_siswa dengan struktur seperti berikut ini:

  • id tinyint(2) NOT NULL, AUTO_INCREMENT, PRIMARY KEY
  • nama varchar(50)
  • tempat_lahir varchar(50)
  • tgl_lahir varchar(50)
  • alamat mediumtext
  • jenis_kelamin enum(‘L’, ‘P’)

Keterangan:

  • Untuk pembuatan tabel dalam wordpress maka kamu bisa lihat tutorialnya disini.

Contoh Kasus:

Saya ingin membuat form seperti berikut ini:

Lalu setelah saya isi semua dan saya tekan tombol Simpan maka semua data tersebut masuk ke dalam tabel wp_siswa seperti terlihat pada gambar dibawah ini:

Pertanyaan:

Bagaimana cara membuat plugin yang didalamnya terdapat sebuah form yang menyimpan data ke tabel seperti kriteria diatas.

Jawaban:

Buatlah sebuah plugin bernama belajar.php dengan isi seperti kode berikut ini:

<?php 

/*

Plugin Name: Belajar

Plugin URI: http://www.a2fahmi.com

Description: Belajar tentang membuat Form

Version: 1.0

Author: Fahmi Basya

Author URI: http://www.a2fahmi.com

*/

function bikinMenu() {

add_menu_page(‘Belajar Form Tambah Data’, ‘Belajar’, ‘manage_options’, ‘mnBelajar’, ‘masukinData’,”, 6);

}

function masukinData(){

global $wpdb;

$wpdb->show_errors();

$namaTabel=$wpdb->prefix.”siswa”;

 

if($_POST[‘dataSimpan’]==’ya’){

$dataSiswa=array(‘nama’=>$_POST[‘nama’],

‘tempat_lahir’=>$_POST[‘tempatLahir’],

‘tgl_lahir’=>$_POST[‘tglLahir’],

‘jenis_kelamin’=>$_POST[‘jk’],

‘alamat’=>$_POST[‘txtAlamat’]

);

$formatData=array(‘%s’,’%s’,’%s’,’%s’,’%s’);

$wpdb->insert($namaTabel, $dataSiswa, $formatData);

if($wpdb->insert_id)

echo “<div class=’wrap’>Data siswa berhasil ditambah</div>”;

}else{

$data=”<div class=’wrap’>”;

$data.=”<form method=’post’><table><caption><h3>Tambah Data Siswa</h3></caption>”;

$data.=”<tr><td>Nama:</td><td><input type=’text’ name=’nama’></td></tr>”;

$data.=”<tr><td>Tempat Lahir:</td><td><input type=’text’ name=’tempatLahir’></td></tr>”;

$data.=”<tr><td>Tanggal Lahir:</td><td><input type=’text’ name=’tglLahir’></td></tr>”;

$data.=”<tr><td>Jenis Kelamin:</td><td><input type=’radio’ name=’jk’ value=’L’>Laki <input type=’radio’ name=’jk’ value=’P’>Perempuan</td></tr>”;

$data.=”<tr><td>Alamat:</td><td><textarea rows=’5′ name=’txtAlamat’></textarea></td></tr>”;

$data.=”<tr><td colspan=’2′ align=’center’><br /><input type=submit value=’Simpan’></td></tr>”;

$data.=”</table>”;

$data.=”<input type=hidden name=’dataSimpan’ value=’ya’>”;

$data.=”</form></div>”;

echo $data;

}

}

add_action(‘admin_menu’, ‘bikinMenu’);

?>

Keterangan:

  • Letakkan plugin ini ke dalam folder wp-content/plugins/belajar
  • add_menu_page() digunakan untuk membuat menu, untuk detailnya maka kamu bisa lihat disini.
  • $wpdb->show_errors(), kode ini digunakan untuk menampilkan error yang berhubungan dengan database.
  • $wpdb->prefix, kode ini digunakan untuk mengambil nama prefix dari tabel wordpress
  • $wpdb->insert($namaTabel, $dataSiswa, $formatData), kode ini digunakan untuk memasukkan data dari $dataSiswa ke dalam tabel $namaTabel dengan format data String yaitu %s sedangkan untuk integer maka formatnya %d dan untuk float maka formatnya %f.
  • $wpdb->insert_id, kode ini digunakan untuk mengambil id dari kolom auto_increment yang baru saja dimasukkan.
  • add_action(‘admin_menu’, ‘bikinMenu’), kode ini digunakan untuk mengaitkan fungsi bikinMenu ke action admin_menu sehingga ketika action admin_menu dijalankan maka fungsi bikin_menu akan dijalankan juga.

Hasil:

Install plugin diatas lalu bukalah menu Belajar dan isi formnya lalu klik tombol simpan dan lihatlah hasilnya apakah sudah masuk ke tabel wp_siswa.

Penutup

Sekian dan Terima Kasih.

 

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *