Terkadang kita dihadapkan pada situasi di mana kita perlu memodifikasi atau menambahkan data secara langsung ke database. Salah satu skenario umum adalah ketika kita perlu menambahkan komentar ke situs WordPress tanpa harus melakukannya melalui antarmuka web.
Dalam artikel ini, kita akan membahas langkah demi langkah bagaimana cara menambahkan komentar pada situs WordPress Anda secara langsung melalui phpMyAdmin, sebuah alat berbasis web yang populer untuk mengelola database MySQL.
Menambahkan Komentar Biasa
Contoh Kasus
Anggap saja Anda ingin menambahkan komentar di WordPress melalui MySQL, menggunakan akun dengan username ini: aditya_th. Komentar yang ditambahkan: “abcde”. Dan komentar di berikan pada id post: 65.
Untuk melakukan hal ini, Anda perlu menambahkan entri ke tabel wp_comments (asumsikan prefix tabel default Anda adalah “wp_”). Berikut adalah langkah-langkahnya:
Panduan dan Basic query SQL yang dipakai
- Buka phpMyAdmin atau klien MySQL lain yang Anda gunakan.
- Pilih database situs WordPress Anda.
- Jalankan query SQL berikut:
INSERT INTO wp_comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id)
VALUES (65, 'aditya_th', '', '', 'IP_ADDRESS', NOW(), NOW(), 'abcde', 0, '1', '', '', 0, (SELECT ID FROM wp_users WHERE user_login = 'aditya_th'));
Gantilah IP_ADDRESS
dengan alamat IP yang sesuai, atau Anda dapat meninggalkannya kosong (”) jika tidak perlu.
Dengan query di atas:
- Kita menambahkan komentar ke post dengan ID 65.
- Komentar ditulis oleh pengguna dengan username
aditya_th
. - Kita menggunakan sub-query untuk mendapatkan ID pengguna dari tabel
wp_users
berdasarkan username. - Komentar disetujui secara otomatis (comment_approved = ‘1’).
Setelah Anda menjalankan query ini, komentar akan ditambahkan ke post dengan ID 65. Pastikan untuk memeriksa situs Anda dan memastikan bahwa semuanya berfungsi dengan baik setelah perubahan.
Menambahkan Komentar Balasan
Pemberian komentar bisa dilakukan dengan menambahkan komentar biasa, dan menambahkan komentar balasan. Untuk bagian ini, kita akan berfokus pada cara menambahkan komentar balasan.
Sebelum melanjutkan, ada perbedaan data yang perlu dipersiapkan ketika hendak menambahkan komentar balasan ini.
Data apa saja yang dibutuhkan
Untuk menambahkan balasan komentar di WordPress melalui SQL, Anda memerlukan beberapa informasi tambahan dibandingkan dengan menambahkan komentar biasa. Balasan komentar pada dasarnya adalah komentar juga, tetapi memiliki comment_parent
yang bukan nol, yang mengacu pada ID komentar yang dibalas.
Sebelum menambahkan balasan komentar, Anda harus tahu:
- ID komentar yang ingin Anda balas (
comment_parent
). - Isi balasan (
comment_content
). - ID post yang berkaitan dengan komentar tersebut (biasanya sama dengan post dari komentar yang dibalas).
- Informasi tentang siapa yang membalas: Jika mereka adalah pengguna terdaftar, Anda perlu
user_id
dancomment_author
berdasarkan username mereka. Jika mereka bukan pengguna terdaftar, Anda memerlukancomment_author
(nama mereka),comment_author_email
, dancomment_author_url
jika ada.
Panduan dan Basic query SQL yang dipakai
Dengan asumsi Anda ingin membalas komentar dengan ID 100
, dan Anda (sebagai aditya_th
) ingin memberikan balasan “Terima kasih atas komentar Anda!”, query SQL-nya akan terlihat seperti ini:
INSERT INTO wp_comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id)
VALUES ((SELECT comment_post_ID FROM wp_comments WHERE comment_ID = 100), 'aditya_th', '', '', 'IP_ADDRESS', NOW(), NOW(), 'Terima kasih atas komentar Anda!', 0, '1', '', '', 100, (SELECT ID FROM wp_users WHERE user_login = 'aditya_th'));
Dengan query ini:
- Kita menambahkan balasan ke komentar dengan ID 100.
- Balasan diberikan oleh pengguna dengan username
aditya_th
. - Kita menggunakan sub-query untuk mendapatkan
comment_post_ID
dari komentar yang dibalas danuser_id
dari pengguna yang memberi balasan.
Setelah Anda menjalankan query ini, balasan akan ditambahkan sebagai balasan komentar dengan ID 100. Pastikan untuk memeriksa situs Anda setelah itu untuk memastikan semuanya berfungsi dengan baik.
Menambahkan Komentar dan Setup Waktu nya
Anda bisa mengatur waktu saat menambahkan komentar ke WordPress melalui MySQL. Kolom yang relevan dalam tabel wp_comments
untuk waktu komentar adalah comment_date
dan comment_date_gmt
.
Jika Anda ingin menambahkan komentar dengan waktu tertentu, Anda perlu mengganti fungsi NOW()
pada query sebelumnya dengan waktu yang Anda inginkan. Waktu harus dalam format YYYY-MM-DD HH:MM:SS
.
Misalkan Anda ingin menambahkan komentar pada tanggal 17 Oktober 2023 pukul 15:00:00 (dalam zona waktu server Anda), query-nya akan terlihat seperti ini:
INSERT INTO wp_comments (comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id)
VALUES (65, 'aditya_th', '', '', 'IP_ADDRESS', '2023-10-17 15:00:00', '2023-10-17 15:00:00', 'Konten komentar Anda di sini', 0, '1', '', '', 0, (SELECT ID FROM wp_users WHERE user_login = 'aditya_th'));
Anda mungkin juga ingin menyesuaikan nilai comment_date_gmt
tergantung pada pengaturan zona waktu situs WordPress Anda. Jika situs Anda dan server Anda berada di zona waktu yang berbeda, Anda mungkin perlu menghitung perbedaan dan menyesuaikan nilai comment_date_gmt
sesuai.
Pastikan untuk memeriksa dan mengonfirmasi zona waktu situs Anda sebelum memasukkan data untuk memastikan akurasi.
Menambahkan Komentar dan Setup ID Komentar nya
Pembahasan Awal
Dalam database WordPress, kolom comment_ID
pada tabel wp_comments
adalah auto-increment, yang berarti setiap kali Anda menambahkan sebuah komentar, database akan otomatis memberikan ID berikutnya yang tersedia. Namun, Anda tetap bisa menentukan comment_ID
sendiri saat menambahkan komentar melalui SQL, tetapi Anda perlu berhati-hati untuk tidak menyebabkan konflik dengan ID yang mungkin sudah ada atau yang akan dibuat di masa depan oleh WordPress secara otomatis.
Jika Anda ingin menentukan comment_ID
saat menambahkan komentar, Anda bisa melakukannya dengan cara berikut:
- Pastikan ID yang Anda pilih belum digunakan. Cari di tabel
wp_comments
untuk memastikancomment_ID
yang Anda pilih belum ada. - Tambahkan komentar Anda dengan ID yang Anda tentukan.
Contoh query yang bisa dipakai
INSERT INTO wp_comments (comment_ID, comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id)
VALUES (123456, 65, 'aditya_th', '', '', 'IP_ADDRESS', NOW(), NOW(), 'Konten komentar Anda di sini', 0, '1', '', '', 0, (SELECT ID FROM wp_users WHERE user_login = 'aditya_th'));
Dalam contoh di atas, saya menambahkan komentar dengan comment_ID
123456. Anda harus memastikan ID 123456 belum digunakan sebelum menjalankan query ini.
Sebagai catatan tambahan, meskipun Anda dapat menentukan ID komentar Anda sendiri, biasanya lebih baik untuk membiarkan database menentukan ID komentar agar tidak menyebabkan konflik di masa depan. Jika Anda memiliki alasan khusus untuk menentukan ID sendiri, pastikan untuk selalu memeriksa apakah ID tersebut sudah digunakan dan selalu berhati-hati saat melakukannya.
Penting !. ID Komentar Harus dibuat Jauh Lebih Besar
ID Komentar yang dibuat oleh sistem WordPress bersifat autoincrement. Apabila Anda membuat ID komentar secara manual, kemudian ada pengguna baru yang memberikan komentar untuk ID tersebut, sistem akan mengalami kesalahan saat mencoba memasukkan komentar baru dengan ID yang sama.
Lihat pembahasan selengkapnya pada bagian “Alasan ID Komentar Harus dibuat Lebih Besar”.
Alasan ID Komentar Harus dibuat Lebih Besar
Ketika Anda melakukan setup ID komentar saat memberikan komentar melalui SQL, kemudian ada komentar dari user baru yang -secara sistem- masuk ke ID komentar yang Anda setup secara manual tersebut, maka sistem akan mengalami kesalahan. Itulah alasan mengapa ketika menambahkan komentar secara manual melalui phpMyAdmin, Anda harus menentukan ID yang lebih besar.
Untuk memahami hal ini, lihat contoh skenario (keadaan) berikut:
Contoh Skenario Tabrakan ID Komentar di Sistem
Misalkan, Anda melakukan setup (menentukan sebelumnya) ID komentar dalam menambahkan komentar melalui MySQL, dimana ID komentar yang ditentukan tersebut adalah 4.
Saat ini, di WordPress sudah ada 2 komentar, dengan ID komentar: 1 dan 2.
Suatu hari, akan ada user pertama yang memberikan komentar. Kemudian, komentar yang diberikan itu memiliki ID komentar 3. Lalu, ada user kedua lain yang memberikan komentar di WordPress saya.
Pertanyaan yang muncul mungkin seperti ini: Apakah ID komentar yang akan diberikan adalah: 4?. Namun, ID komentar 4 kan sebelumnya sudah ditambahkan sendiri melalui SQL secara manual !?.
Penjelasan Penyebab Tabrakan ID Komentar di Sistem
Jika Anda secara manual menambahkan sebuah komentar dengan ID komentar 4 melalui MySQL, dan saat itu di database hanya ada komentar dengan ID 1 dan 2, maka saat user pertama memberikan komentar, sistem akan memberikan ID komentar 3, seperti yang Anda sebutkan.
Namun, saat user kedua mencoba memberikan komentar, sistem akan mencoba memberikan ID komentar 4 (karena itu adalah nilai selanjutnya dalam urutan auto-increment). Karena ID 4 sudah ada (karena Anda menambahkannya secara manual), sistem akan mengalami kesalahan saat mencoba memasukkan komentar baru dengan ID yang sama.
Hasil yang tepat tergantung pada konfigurasi dan versi MySQL yang Anda gunakan, tetapi umumnya, Anda akan mendapatkan kesalahan seperti “Duplicate entry ‘4’ for key ‘PRIMARY'” atau kesalahan serupa yang menunjukkan bahwa ada percobaan untuk memasukkan nilai yang sudah ada ke dalam kolom yang diatur sebagai kunci primer dengan auto-increment.
Oleh karena itu, menentukan ID komentar secara manual seringkali bukan ide yang baik karena dapat menyebabkan masalah atau konflik di masa depan. Jika Anda memang perlu menentukan ID secara manual, pastikan untuk memilih ID yang jauh lebih besar dari yang saat ini digunakan (misalnya, 10000) untuk mengurangi risiko konflik.
Alternatif lain (Tidak menentukan ID Komentar)
Ketika menambahkan komentar melalui SQL, mungkin ada kekhawatiran terkait menentukan ID komentar secara manual, karena bisa saja bertabrakan dengan fitur auto-increment dari MySQL. Sebagai solusi, Anda sebenarnya tidak perlu menentukan ID komentar ketika menambahkan komentar melalui SQL. Sebagai gantinya, Anda dapat mengandalkan sistem auto-increment tersebut.
Caranya adalah dengan terlebih dahulu mengetahui ID komentar terakhir yang ada di WordPress. Jika ID komentar terakhir adalah 9, maka komentar pertama yang Anda tambahkan melalui SQL otomatis akan diberikan ID 10.
Jika Anda hendak menambahkan sejumlah komentar sekaligus, misalnya 10 komentar, Anda tetap dapat mengandalkan sistem ini. Komentar pertama yang Anda tambahkan akan mendapatkan ID selanjutnya dari komentar terakhir yang ada. Jadi, jika komentar terakhir memiliki ID 9, komentar pertama yang Anda tambah akan memiliki ID 10, komentar kedua ID 11, dan seterusnya. Dengan cara ini, Anda tidak perlu khawatir akan terjadi konflik ID atau lompatan ID yang tidak sesuai urutan.
Informasi Penting Lain
“comment_author” bukan Username
comment_author
merujuk pada nama yang ditampilkan dari pengguna yang meninggalkan komentar. Jadi, untuk pengguna terdaftar, ini biasanya akan sama dengan “display name” pengguna tersebut, bukan “username”. Misalnya, username mungkin “aditya_th”, tetapi nama yang ditampilkan bisa “Aditya T. H.” atau apapun yang dipilih oleh pengguna sebagai nama tampilannya.
Jadi, jika Anda menambahkan komentar atau balasan komentar untuk pengguna terdaftar:
- Anda akan menggunakan
user_id
untuk mengidentifikasi pengguna tersebut di tabelwp_users
. comment_author
akan diisi dengan “display name” dari pengguna tersebut, bukan “username”.
‘comment_author_email’ dan ‘comment_author_url’ Apakah wajib di isi?
Tidak benar-benar diperlukan untuk mengisi comment_author_email
atau comment_author_url
saat menambahkan komentar melalui SQL, tetapi informasi ini dapat membantu dalam beberapa konteks:
- comment_author_email: Email ini biasanya digunakan oleh banyak plugin WordPress untuk mengenali dan mengelola komentar (seperti plugin gravatars yang menggunakan email untuk menampilkan avatar komentator).
- comment_author_url: Ini adalah URL situs web komentator (jika mereka memasukkannya). Ini akan ditampilkan di bawah nama komentator di sebagian besar tema WordPress, memungkinkan pengunjung untuk mengklik dan mengunjungi situs web komentator.
Jika komentar dibuat oleh pengguna yang terdaftar, informasi ini (terutama email) biasanya diambil dari profil pengguna, jadi Anda mungkin tidak perlu memasukkannya saat menambahkan komentar melalui SQL. Namun, jika komentar dibuat oleh pengguna yang tidak terdaftar, mengisi comment_author_email
dan comment_author_url
dapat memberikan konteks tambahan tentang siapa komentator dan dari mana mereka berasal.
Dalam prakteknya, Anda bisa meninggalkan kedua kolom ini kosong (”) jika Anda merasa tidak perlu mengisinya atau tidak memiliki informasi tersebut saat menambahkan komentar melalui SQL.
Apakah value ‘IP_ADDRESS’ harus di isi?, atau bisa dibiarkan kosong?
Kolom comment_author_IP
dalam tabel wp_comments
digunakan untuk menyimpan alamat IP dari pengguna yang meninggalkan komentar. Meskipun bisa berguna untuk keperluan administrasi, moderasi, atau keamanan (seperti melacak komentar spam atau mencari tahu dari mana komentar berasal), ini bukanlah kolom yang wajib diisi.
Jadi, untuk menjawab pertanyaan Anda:
- Ya, Anda dapat meninggalkannya kosong. Dalam query SQL, Anda dapat menggantikan
'IP_ADDRESS'
dengan''
(dua tanda kutip tunggal tanpa spasi di antaranya).
Tetapi jika Anda memiliki informasi IP dan ingin menyimpannya, Anda tentu saja dapat memasukkannya. Semua tergantung pada kebutuhan dan preferensi Anda.
Pembuatan User Dahulu atau Membuat User Baru?
Pemberian komentar di WordPress, bisa dilakukan dengan membuat user (akun yang memberikan komentar) dahulu. Bisa juga memberikan komentar sekaligus membuat user baru.
Mana yang lebih baik untuk Anda?. Jawaban nya tergantung tujuan yang dilakukan ketika memberikan komentar nya.
Jika Anda ingin membuat komentar secara manual di MySQL di lebih dari 1 halaman, lebih baik membuat user nya dahulu. Karena Anda bisa memakai perintah MySQL dengan struktur yang sama (namun dengan isi yang berbeda) untuk memberikan komentar di halaman lain nya.
Alasan kedua adalah Kemudahan dalam Penyusunan Query. Anda hanya perlu merujuk ke ID pengguna yang sama setiap kali Anda ingin menambahkan komentar, daripada harus memasukkan semua detail pengguna setiap kali.
Jadi, langkah awal Anda adalah membuat user di tabel wp_users
dan kemudian merujuk ke user_id
dari user tersebut setiap kali Anda menambahkan komentar melalui SQL. Ini akan membuat proses penambahan komentar lebih efisien dan terstruktur.
Praktek Implementasi
Pada bagian sebelumnya, Anda telah diajarkan dasar-dasar menambahkan komentar melalui MySQL. Namun, dalam implementasi sebenarnya, terutama ketika Anda ingin menambahkan banyak komentar di beragam halaman, prosesnya mungkin menjadi lebih kompleks.
Mengingat jumlah komentar yang banyak, Anda akan memerlukan pengaturan tertentu untuk mempermudah dan mempercepat prosesnya. Dalam bagian ini, kami akan membahas bagaimana menerapkan teknik ini pada skala yang lebih besar agar Anda dapat dengan mudah mempraktekkannya dalam situasi nyata.
Membuat User
Sebelum memulai, lebih baik lakukan pembuatan user terlebih dahulu. Alasan nya, sudah kami jelaskan di bagian “Informasi Penting Lain >> Pembuatan User Dahulu atau Membuat User Baru?”.
Sekiranya perlu dibuat 25-50 user. Saran kami, buat persiapan user ini di website lain, untuk nanti semua user tersebut di eksport ke website baru.
Disini, Anda harus menyimpan “username” dari akun- akun yang sudah dibuat tersebut. Anda tidak perlu menyimpan data lain seperti: Email, nama lengkap dan sebagainya. Karena kita bisa mengambil data lain tersebut, dengan mengacu pada “username” saja.
Menentukan Halaman yang akan diberi komentar
Langkah berikutnya adalah menentukan halaman mana yang ingin Anda beri komentar. Tidak cukup hanya mengetahui judul atau isi halaman, Anda juga harus menemukan ID dari halaman tersebut.
ID halaman ini penting saat Anda ingin menambahkan komentar melalui SQL, karena menunjukkan lokasi spesifik di mana komentar harus ditempatkan.
Menentukan ID Komentar
Jika Anda berencana menambahkan komentar melalui SQL di banyak halaman, misalnya di hampir 100 halaman, sangat disarankan untuk menentukan ID komentar saat menambahkannya.
Alasan utamanya adalah efisiensi. Jika Anda tidak menentukan ID komentar, Anda harus mencari masing-masing ID komentar yang baru ditambahkan.
Bayangkan jika Anda ingin menambahkan komentar ke 100 halaman dengan masing-masing halaman memiliki 5 komentar; Anda harus menemukan 500 ID komentar secara manual.
Selain itu, menentukan ID komentar dengan nilai yang besar sejak awal tidak membawa risiko. Oleh karena itu, menentukan ID komentar saat menambahkan adalah pilihan yang optimal.
Membuat Konten Komentar
Langkah berikutnya adalah penyusunan konten komentar. Meskipun tampak sederhana, proses ini bisa memakan waktu yang cukup lama, terutama jika kita ingin membuat komentar yang terlihat alami dan tidak terkesan otomatis.
Walaupun prosedurnya tidak kompleks, disarankan untuk mempersiapkan konten komentar dengan baik dahulu sebelum menambahkannya melalui MySQL.
Spreadsheet Pembuatan Query SQL
Setelah mengumpulkan semua data, Anda perlu menyusun perintah query SQL untuk menambahkan komentar. Jika Anda harus menambahkan banyak komentar, misalnya ratusan, proses ini bisa menjadi cukup menantang. Untuk mempermudah dan mempercepat pembuatan perintah MySQL, Anda dapat memanfaatkan Google Spreadsheet.
Hal yang kami lakukan pun begitu. Kami menggunakan Google Sheets untuk membuat Query SQL ini, yang terdiri dari 2 bagian; Komentar Biasa dan Komentar Balasan. Berikut tampilan nya.
Jalankan Perintah (Query) di MySQL
Setelah semua perintah SQL nya siap, tinggal jalankan saja menggunakan phpMyAdmin. Buka Control Panel Anda, kemudian pilih phpMyAdmin.
- Pastikan bahwa prefiks tabel Anda memang
wp_
. Ini adalah prefiks default yang digunakan oleh WordPress, tetapi bisa saja berbeda tergantung pada konfigurasi saat Anda menginstal WordPress. - Pastikan bahwa Anda mempunyai hak untuk melakukan operasi
INSERT
pada tabel tersebut. Biasanya, Anda membutuhkan hak sebagaiDB_ADMIN
atau setidaknya hakINSERT
. - Buatlah cadangan database Anda sebelum menjalankan query apapun untuk menghindari potensi kerusakan atau kehilangan data.
Setelah memverifikasi poin-poin di atas, Anda bisa pergi ke phpMyAdmin atau alat manajemen database MySQL yang Anda gunakan:
- Pilih database yang digunakan oleh instalasi WordPress Anda.
- Klik pada tabel
wp_comments
(atau apapun namanya jika menggunakan prefiks yang berbeda). - Temukan tab yang berlabel “SQL” atau sesuatu yang serupa.
- Paste query Anda ke dalam kotak teks dan jalankan.
Berikut adalah hasil query yang telah kami coba jalankan.
Lihat Hasil nya
Setelah menjalankan query nya di MySQL, selanjutnya lihat hasil nya, apakah ada komentar baru yang ditambahkan disana?. Kami telah mencoba metode ini dan berhasil. Berikut adalah bukti nya.
Permasalahan dan Solusi
User yang memberikan komentar tidak ada namanya
Kami pernah melakukan uji coba untuk menambahkan komentar melalui phpMyAdmin dan menghadapi kendala di mana nama pengguna yang memberikan komentar tidak muncul, hanya bertuliskan “Anonymous”. Awalnya kami bingung, karena kami mengikuti prosedur yang sama seperti yang tercantum dalam panduan ini. Namun, setelah investigasi lebih lanjut, kami menemukan bahwa perlu menjalankan query di phpMyAdmin dengan mengisi bagian nama pengguna.
Dalam panduan sebelumnya, kami menyatakan bahwa mengisi nama pengguna tidak diperlukan, dan jika Anda memberikan komentar balasan pada komentar yang diinjeksikan tanpa nama pengguna, nama tersebut akan muncul. Namun, jika tidak ada komentar balasan, nama pengguna tidak akan muncul, seperti masalah yang kami temui.
Solusinya cukup sederhana: cukup buat nama pengguna dalam perintah SQL, pastikan bagian nama pengguna diisi.
Penutup
Inilah langkah-langkah untuk menambahkan komentar pada WordPress melalui phpMyAdmin. Dengan memahami prosedur ini, Anda memiliki kebebasan lebih dalam mengelola komentar di situs WordPress Anda, bahkan tanpa harus mengakses dasbor WordPress.
Selalu pastikan untuk berhati-hati saat bekerja langsung dengan database untuk menjaga integritas data Anda. Semoga artikel ini membantu Anda dalam meningkatkan kemampuan administrasi situs Anda. Selamat mencoba!