Membuat Tabel dalam WordPress

Contoh Kasus:

Saya ingin membuat sebuah tabel bernama wp_siswa dalam Database WordPress seperti terlihat pada gambar dibawah ini:

Dimana tabel wp_siswa diatas mempunyai struktur seperti terlihat dibawah ini:

Keterangan:

  • Untuk field id ini menjadi PRIMARY KEY serta mempunyai attribut AUTO_INCREMENT dan NOT NULL

Pertanyaan:

Bagaimana cara melakukannya… ?

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 tabel

Version: 1.0

Author: Fahmi Basya

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

*/

function bikinMenu() {

add_menu_page(‘Belajar bikin tabel’, ‘Belajar’, ‘manage_options’, ‘mnBelajar’, ‘bikinTabel’,”, 6);

}

 

add_action(‘admin_menu’, ‘bikinMenu’);

function bikinTabel(){

global $wpdb;

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

$charset_collate = $wpdb->get_charset_collate();

$sql=”CREATE TABLE $namaTabel (id tinyint(2) NOT NULL AUTO_INCREMENT,

nama varchar(50),

tempat_lahir varchar(50),

tgl_lahir timestamp,

alamat mediumtext,

jenis_kelamin enum(‘L’, ‘P’),

PRIMARY KEY (id)

)$charset_collate “;

require_once( ABSPATH . ‘wp-admin/includes/upgrade.php’ );

$periksaTabel=$wpdb->get_var(“SHOW TABLES LIKE ‘$namaTabel'”);

if(empty($periksaTabel)){

$hasil=dbDelta($sql);

if(!empty($hasil)){

echo “<div class=’wrap’>Tabel Siswa berhasil dibuat</div>”;

}

}else

echo “<div class=’wrap’>Tabel Siswa sudah ada</div>”;

}

?>

Keterangan:

  • $wpdb->get_charset_collate(), kode ini digunakan untuk mengambil ¬†character set dan collation
  • dbDelta($sql), metode dbDelta ini digunakan untuk menjalankan query, metode ini berada dalam file¬†wp-admin/includes/upgrade.php

Penutup

Sekian dan Terima Kasih

You may also like...

Leave a Reply

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