January 26, 2025

Dasar-Dasar Database WordPress Dan MySQL

Dasar-Dasar Database WordPress Dan MySQL – Salah satu kekuatan terbesar WordPress sebagai sistem manajemen konten adalah struktur databasenya yang sederhana dan kuat.

phpbbstyles

Dasar-Dasar Database WordPress Dan MySQL

phpbbstyles – Semua pengguna, posting, dan komentar di situs WordPress Anda disimpan dalam database yang didukung oleh bahasa kueri populer yang disebut MySQL, dan hampir setiap halaman di dasbor WordPress Anda berinteraksi dengan database dalam beberapa cara.

Meskipun Anda tidak perlu mengetahui MySQL untuk menangani dasar-dasar pemeliharaan situs WordPress Anda, pemahaman sederhana tentang itu dapat sangat berharga dalam memahami bagaimana pengembang web Anda mendiagnosis masalah dan membuat perubahan skala besar pada situs Anda.

Sebaiknya serahkan hal-hal semacam ini kepada tim pengembangan web yang terampil (seperti kami!), tetapi informasi latar belakang berguna untuk dimiliki saat berkomunikasi dengan pengembang web tentang masalah dengan situs Anda.

Terhubung

Untuk terhubung ke database MySQL, Anda memerlukan alat database MySQL. Alat basis data memungkinkan Anda menjalankan kueri dan menampilkan hasil dalam kolom yang diurutkan, sehingga bekerja dengan hasil menjadi lebih mudah.

Baca Juga : Hal Keren Yang Dapat Anda Lakukan Dengan File Functions.php WordPress

Jika situs WordPress Anda dihosting dengan cPanel, maka Anda sudah memiliki salah satunya. Ini disebut phpMyAdmin, dan ini adalah alat database MySQL yang disertakan dengan cPanel dan memungkinkan Anda untuk menjalankan kueri langsung dari browser Anda.

Untuk mengakses phpMyAdmin, login ke cPanel Anda dan klik link phpMyAdmin di bagian Databases. Setelah Anda berada di phpMyAdmin, Anda dapat menemukan server Anda di sisi kiri layar.

Klik tombol tanda plus untuk memperluasnya, lalu pilih database yang sesuai dengan situs WordPress Anda. (Jika Anda tidak tahu database mana ini, dapat ditemukan> di wp-config.php, file WordPress dasar yang terletak di folder public_html Anda. DB_NAME yang ditentukan dalam file ini menunjukkan nama database yang digunakan situs WordPress Anda.)

Jika Anda tidak menggunakan cPanel, atau jika Anda tidak ingin menggunakan phpMyAdmin, ada alat lain yang tersedia. Alat database gratis yang bagus untuk digunakan adalah MySQL Workbench.

Untuk masuk ke database Anda dengan salah satu alat ini, Anda memerlukan nama pengguna dan kata sandi Anda, yang dapat ditemukan di wp-config.php dengan masing-masing nama DB_USER dan DB_PASSWORD.

Sepuluh tabel WordPress

Setelah Anda masuk ke database WordPress dengan alat pilihan Anda, Anda akan dapat mengakses hampir semua data yang tersimpan di situs Anda. Secara default, WordPress menggunakan sepuluh tabel untuk menyimpan semua pengguna, posting, komentar, kategori, dan opsi konfigurasi untuk situs Anda. Perlu dipahami bagaimana semua tabel ini ditata, jadi mari kita bahas semuanya.

wp_pengguna

The wp_users tabel berisi informasi pada semua akun pengguna di situs Anda. Setiap pengguna memiliki ID unik yang digunakan untuk mengidentifikasi pengguna tersebut di tabel lain.

Kolom lainnya dalam tabel cukup jelas, berisi ID login pengguna, alamat email, kata sandi, dan sebagainya. Namun, perlu dicatat bahwa kata sandi pengguna disimpan dalam keadaan terenkripsi dan tidak boleh diubah dalam database secara langsung.

wp_usermeta

wp_usermeta tabel berisi semua meta informasi pengguna di situs Anda. Informasi meta adalah informasi yang terkait dengan pengguna tertentu, posting, dll., tetapi tidak akan muat di tabel masing-masing karena berbagai alasan.

Setiap baris dalam tabel memiliki umeta_id unik , serta bidang user_id yang menunjukkan ID pengguna yang terkait dengannya. Setiap baris juga memiliki meta_key yang berfungsi sebagai label untuk jenis konten apa yang dikandungnya, serta meta_value yang berisi konten itu sendiri.

Bidang meta digunakan secara ekstensif oleh plugin, tetapi beberapa opsi pengguna disimpan di wp_usermeta tabel secara default, termasuk nama depan dan belakang, nama panggilan, deskripsi, dan kemampuan pengguna.

wp_posts

wp_posts tabel berisi informasi tentang semua posting di situs Anda. Ini termasuk posting, halaman, revisi, media yang diunggah, dan semua jenis posting khusus dari plugin yang telah Anda instal.

Setiap posting memiliki ID unik yang digunakan untuk mengidentifikasinya di tabel lain, serta post_author yang menunjukkan ID pengguna yang membuatnya. Selebihnya data cukup jelas, berisi judul posting, isi, tanggal posting, dan lain sebagainya.

wp_postmeta

wp_postmeta tabel berisi semua informasi meta posting di situs Anda. Cara kerjanya mirip dengan tabel wp_usermeta , dengan setiap baris memiliki meta_id unik, post_id yang menunjukkan ID postingan yang terkait dengannya, dan struktur meta_key dan meta_value yang identik .

wp_postmeta tabel kebanyakan digunakan oleh plugin, tapi beberapa fungsi dasar menggunakan meja juga, seperti gambar fitur untuk posting, yang disimpan di bawah meta_key “_thumbnail_id” dengan meta_value menunjukkan ID dari post thumbnail.

wp_comments

The wp_comments tabel berisi informasi tentang semua komentar di situs Anda. Setiap komentar memiliki comment_ID unik , serta comment_post_ID yang menunjukkan ID kiriman tempat komentar dibuat. Kolom lain berisi sisa informasi tentang komentar, termasuk konten, poster, tanggal dibuat, dan sebagainya.

wp_commentmeta The wp_commentmeta tabel berisi semua informasi meta komentar di situs Anda. Ini berfungsi seperti tabel meta lainnya, tetapi dengan comment_id yang menunjukkan comment_ID dari komentar yang terkait dengan meta.

wp_terms The wp_terms tabel berisi informasi tentang semua syarat di situs Anda. Istilah adalah berbagai rangkaian pengenal yang digunakan untuk mengatur posting di situs Anda. Secara default, ini hanya mencakup kategori posting dan tag posting, tetapi plugin dapat menambahkan jenis istilah lain ke situs Anda. Setiap istilah memiliki term_id yang unik , serta nama dan siput (nama yang menggunakan serangkaian karakter ramah URL yang dibatasi). Kolom terakhir, term_group , tidak digunakan secara default dan biasanya dapat diabaikan dengan aman.

wp_term_taxonomy The wp_term_taxonomy tabel berisi taksonomi untuk semua syarat di situs Anda. Setiap taksonomi memiliki term_taxonomy_id yang unik , serta term_id yang menunjukkan istilah yang dijelaskannya. Taksonomi berisi informasi lebih lanjut tentang suatu istilah, termasuk jenis istilah itu di kolom taksonomi , serta deskripsinya . The orangtua kolom berisi term_id induk istilah ini, jika memiliki satu, dan jumlah kolom berisi hitungan berapa banyak posting menggunakan istilah.

wp_term_relationships

wp_term_relationships tabel berisi daftar semua hubungan antara posting dan istilah di situs Anda. Setiap baris hanya berisi object_id yang menunjukkan ID posting yang memiliki istilah dan term_taxonomy_id dari istilah yang digunakannya. Seperti wp_terms , ia memiliki kolom term_order lain yang tidak digunakan secara default.

wp_options

wp_options tabel berisi semua pengaturan konfigurasi pilihan di situs Anda. Ini digunakan secara luas oleh plugin, dan juga digunakan untuk banyak pengaturan konfigurasi secara default.

wp_options meja fungsi agak seperti meja meta untuk seluruh situs Anda, dengan setiap baris memiliki unik OPTION_ID serta OPTION_NAME dan option_value’ . Kolom terakhir, autoload , digunakan oleh WordPress untuk menentukan opsi mana yang harus dimuat pada halaman tertentu dan umumnya tidak boleh dimodifikasi.

Menyatukan semuanya

Sekarang kita tahu bagaimana data terstruktur dalam database WordPress kita, bagaimana kita bisa menggunakannya? Nah, kita bisa menggunakan data ini untuk menjalankan kueri pada kumpulan data apa pun dari situs kita.

Query adalah kalimat dari kode MySQL yang dapat kita gunakan untuk memilih subset data tertentu dari database MySQL. Untuk menjalankan kueri, Anda harus membuka permintaan kueri.

Untuk membuka permintaan kueri di phpMyAdmin, cukup klik tab “SQL” di jendela utama setelah Anda memilih database. Untuk menjalankan kueri, cukup masukkan di kotak teks dan klik “Pergi”.

CATATAN: Anda harus selalu berhati-hati saat menjalankan kueri dan tidak boleh mencoba salah satu dari yang berikut ini kecuali Anda adalah pengembang web yang berpengalaman.

Kueri yang diformat dengan buruk berpotensi menyebabkan perubahan yang tidak diinginkan pada data Anda. Kueri dalam artikel ini hanya memilih data untuk tujuan tampilan dan tidak mengubah apa pun, tetapi kueri lain yang menyisipkan, mengedit, atau menghapus data dapat menyebabkan masalah jika ditulis dengan tidak benar.

Jadi apa yang bisa kita lakukan dengan pertanyaan? Nah, sebagai contoh, katakanlah kami ingin memilih semua posting oleh admin kami Jeff, yang memiliki user_id 4, yang merupakan konsep yang belum dipublikasikan. Untuk menemukannya, kita cukup memasukkan kueri berikut:

  • PILIH * FROM wp_posts WHERE post_author = 4 DAN post_status = ‘draft’

Atau jika kita ingin daftar semua pengguna yang belum memasukkan URL pengguna di profil mereka. Kami dapat menjalankan kueri berikut untuk menemukannya:

  • PILIH * FROM wp_users WHERE user_url = ”

Ini semua adalah operasi yang sangat mendasar, tetapi ada operasi yang lebih maju yang dapat dilakukan. Misalnya, kita ingin mendapatkan semua posting yang dibuat oleh Jeff, yang masih memiliki user_id 4 yang berada dalam kategori “Hiburan”, yang memiliki term_taxonomy_id 17. Informasi ini tidak semuanya dalam satu tabel, tapi kita bisa gunakan operasi basis data untuk pada dasarnya meletakkan semuanya dalam satu tabel untuk keperluan kueri kami:

  • PILIH * DARI wp_posts
  • INNER GABUNG wp_term_relationships
  • DI wp_posts.ID = wp_term_relationships.object_id
  • MANA wp_posts.post_author = 4 DAN wp_term_relationships.term_taxonomy_id = 17

Ini membuat daftar semua data dari wp_posts dan wp_term_relationships di mana ID dan object_id cocok, dan memilih semua baris di mana post_author adalah 4 dan term_taxonomy_id adalah 17.

Seperti yang Anda lihat, MySQL memberi kami banyak kekuatan untuk mengumpulkan dan mengatur data dari database kami, tetapi ini hanya sebagian kecil dari apa yang dapat dilakukan dengannya. Untuk mempelajari lebih lanjut tentang MySQL,