Mengenal fungsi $wpdb pada WordPress

mengenal fungsi $wpdb

Mengenal fungsi $wpdb pada WordPress

Database adalah salah satu komponen yang penting bagi sebuah website. Dengan database, website dapat menyimpan data untuk waktu yang lama, selain itu juga dapat menampilkan data tersebut kepada user.

Begitu juga WordPress peran database sangatlah penting karena semua post dan artikel yang kita buat akan disimpan di database.

Jika anda adalah seorang programmer yang berniat membuat plugin atau theme bagi WordPress maka tidak jarang anda memerlukan suatu metode untuk mengakses database pada sistem WordPress dengan mudah dan cepat dibanding anda harus membuat fungsi itu semua dari awal.

WordPress sendiri telah menyediakan sebuah objek dari class yang bernama “wpdb” untuk melakukan fungsi-fungsi mengolah/memanipulasi database. Class wpdb terletak di dalam “wp-includes/wp-db.php”.

/**
 * WordPress database access abstraction class.
 *
 * This class is used to interact with a database without needing to use raw SQL statements.
 * By default, WordPress uses this class to instantiate the global $wpdb object, providing
 * access to the WordPress database.
 *
 * It is possible to replace this class with your own by setting the $wpdb global variable
 * in wp-content/db.php file to your class. The wpdb class will still be included, so you can
 * extend it or simply use your own.
 *
 * @link https://developer.wordpress.org/reference/classes/wpdb/
 *
 * @since 0.71
 */
class wpdb {

	/**
	 * Whether to show SQL/DB errors.
	 *
	 * Default is to show errors if both WP_DEBUG and WP_DEBUG_DISPLAY evaluate to true.
	 *
	 * @since 0.71
	 * @var bool
	 */

Object wpdb ini disimpan dalam sebuah variabel global $wpdb, sehingga bisa diakses dimana saja dengan melakukan deklarasi variabel global seperti berikut:

global $wpdb;

Untuk mengenal fungsi $wpdb lebih lanjut, didalam objek wpdb sendiri sudah disediakan berbagai method yang bisa kita gunakan.

Beberapa method penting untuk mengenal fungsi $wpdb

  1. get_results: Untuk mengambil data dari tabel-tabel yang ada di database
  2. get_row: Untuk mengambil data terbatas hanya satu baris (row) saja
  3. get_var: Untuk mengambil nilai satu variabel atau satu kolom tertentu dari database
  4. update: Untuk mengupdate nilai pada database
  5. insert: Untuk menambahkan baris baru pada sebuah tabel
  6. delete: Untuk menghapus nilai tertentu pada database
  7. query: Untuk eksekusi query sql secara bebas

Berikut adalah contoh cara menggunakan method get_results untuk mengambil semua baris dari tabel wp_posts dan memiliki post_type=post:

global $wpdb;

$rows = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type='post'" );

Object wpdb juga menyediakan beberapa atribut atau properti penting yang bisa kita gunakan.

Cth beberapa atribut penting pada $wpdb

  1. prefix: Untuk mendapatkan prefix tabel WordPress, biasanya WP berisi prefix “wp_”. Cara memanggilnya bisa bisa dengan cara menuliskan $wpdb->prefix.
  2. last_query: Untuk mendapatkan query SQL terakhir yang dieksekusi. Ini kadang perlu untuk melakukan debuging. Cth: $wpdb->last_query;
  3. last_error: Untuk menampilkan pesan error query terakhir (jika ada). Cth: $wpdb->last_error;
  4. posts: Untuk mendapatkan nama tabel posts beserta prefixnya secara lengkap, cth: $wpdb->posts akan mengembalikan nilai “wp_posts” jika prefix WP adalah “wp_”.
    Untuk mendapatkan nama tabel utama WordPress yang lain selain wp_posts tinggal gunakan saja nama setelah prefix-nya.
    Contoh untuk mendapatkan nama wp_postsmeta, gunakan $wpdb->postmeta.
    Catatan: Hindari menuliskan kode nama tabel secara statis (wp_posts, wp_postmeta, dll), karena prefix tabel WordPress belum tentu adalah “wp_”.

Kesimpulan:
WordPress menyediakan sebuah objek yang bernama wpdb dan dipanggil dengan menggunakan variabel global bernama $wpdb. Objek wpdb menyediakan beberapa method dan atribut yang penting untuk melakukan manipulasi database.

Referensi:
https://developer.wordpress.org/reference/classes/wpdb/