Bagaimana mengeksekusi Query SQL
Bagi yang belum tahu, query SQL dapat di eksekusi menggunakan perintah SQL lewat command line atau dapat menggunakan antarmuka web seperti yang paling terkenal PhpMyadmin. Karena kita menggunakan WordPress, maka plugin SQL Executioner memberikan kemudahan dalam mengeksekusi query SQL langsung melalui dashboard WordPress anda.
Meskipun semua query disini sudah di uji coba, jangan lupa anda juga perlu melakukan test query yang ada disini menggunakan blog anda. Jangan lupa untuk selalu membackup terlebih dahulu database anda.
Mengganti Password anda secara Manual
Seandainya anda lupa password admin blog anda, salah satu solusinya adalah langsung mengganti ke dalam database. Query berikut akan mengganti password anda. Saya menggunakan fungsi MySQL MD5() untuk meng-encrypt password ke dalam MD5.
UPDATE 'wp_users'
SET 'user_pass' = MD5('PASSWORD')
WHERE 'user_login' = 'admin'
LIMIT 1;
Source lengkap disini.
Mengirim Posting dari satu user ke user lain
Pada umumnya, pengguna WordPress baru, lebih memilih menggunakan account ‘admin’ yang lama daripada membuat account dengan nama asli mereka. Jika anda salah dan membuat account lainnya di kemudian hari, anda dapat dengan mudah mengirim posti user ‘admin’ lama anda ke account baru dengan query SQL berikut.
Anda memerlukan id user dari account lama dan account baru anda.
UPDATE wp_posts SET post_author = NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
Source lengkap disini.
Menghapus revisi posting dan data terkait revisi tersebut
Revisi post sangat berguna, terutama untuk blog dengan author banyak. Tetapi, masalahnya adalah jumlah revisi sama dengan banyaknya data yang disimpan di dalam database. Contohnya, jika blog anda memiliki 100 post, dengan masing-masing memiliki 10 revisi, anda akan memiliki 1000 record di dalam table wp_posts, padahal hanya 100 yang memang benar.
Mengeksekusi query berikut akan menghapus semua revisi posting bersama data terkait (mis, field custom) revisi tersebut. Dengan demikian akan memberi database anda space.
DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID=b.object_id) LEFT JOIN wp_postmeta c ON (a.ID=c.post_id);
Source lengkap disini.
Menghapus komentar Spam
Bayangkan ketika anda pulang dari berlibur di daerah yang tidak memiliki akses internet. Jika anda belum menginstall Akismet dan melihat seberapa terkenal blog anda, anda mungkin harus memoderasi 1000, 2000 atau bahkan 10.000 lebih komentar. Bisa membutuhkan waktu seharian untuk moderasi sebanyak itu, atau anda dapat menggunakan query berikut untuk menghapus semua komentar yang belum di approve.
Dan untuk liburan selanjutnya, jangan lupa untuk menginstall Akismet.
DELETE FROM wp_comments WHERE comment_approved = '0';
Source lengkap disini.
Mencari Tags yang tidak digunakan
Tags disimpan di dalam tabel wp_terms. Jika suatu hari tag dibuat tapi tidak pernah digunakan sama sekali, akan terus ada di dalam tabel. Query ini akan memberi tahu anda tags mana di dalam tabel wp_terms yang tidak pernah digunakan di blog anda. Anda aman untuk menghapusnya.
SELECT * FROM wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy = 'post_tag' AND wtt.count=0;
Source lengkap disini.
Cari dan replace Data
Tip ini bukan hanya untuk pengguna WordPress, tapi juga bisa digunakan untuk semua orang yang bekerja menggunakan database MySQL. Fungsi replace() di MySQL memerlukan nama field, kata yang dicari, dan kata pengganti. Ketika query ini dijalankan, semua kata yang sama dengan kata yang dicari akan di ganti dengan kata pengganti yang anda inginkan.
Di WordPress, ini dapat digunakan untuk mengganti sejumlah kesalahan penulisan (Seperti orang yang berulangkali menggunakan kata WordPress…) atau sebuah alamat email.
UPDATE table_name SET field_name = replace( field_name, 'kata yang dicari', 'kata untuk mengganti');
Source lengkap disini.
Melihat daftar email komentator
Apakah anda pernah mendapatkan email yang tidak di inginkan dari blog yang pernah anda komentari? Saya yakin anda pernah, seperti saya. Sebenarnya, melihat daftar email komentator anda sangat mudah menggunakan query berikut. Parameter DISTINCT memastikan email akan ditampilkan sekali, meskipun user mengirimkan komentar lebih dari satu.
SELECT DISTINCT comment_author_email FROM wp_comments;
Source lengkap disini.
Disable semua Plugins anda
Ketika terjadi suatu kesalahan, khususnya untuk situs yang sudah di publish, anda harus melakukan dengan cepat. Mengingat plugin sering menjadi sumber masalah, menon-aktifkan semua plugin dengan cepat dapat mengatasi banyak masalah. Cukup gunakan query berikut :
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
Source lengkap disini.
Menghapus Semua Tags
Di WordPress, tags disimpan di tabel wp_terms, bersama dengan kategori dan taxonomy. Jika anda ingin membuang semua tags, anda tidak dapat menghapus isi tabel wp_terms yang akan menghapus seluruh kategori juga!. Jika anda hanya ingin menghapus tags anda, jalankan query berikut. Ini akan menghapus seluruh tags dan hubungan antara tags dengan posts, dengan membiarkan kategori dan taxonomy tetap utuh.
DELETE a,b,c FROM database.prefix_terms AS a LEFT JOIN database.prefix_term_taxonomy AS b ON a.term_id=b.term_id LEFT JOIN database.prefix_term_relationships AS c ON c.term_taxonomy_id=b.term_taxonomy_id WHERE (b.taxonomy = 'post_tag' AND b.count = 0 );
Source lengkap disini.
Melihat daftar Meta Posts yang tidak digunakan
Meta post dibuat oleh plugin dan field tambahan. Meta sangat berguna, tetapi dengan cepat dapat membuat database anda besar. Query berikut akan menampilkan semua postmeta yang tidak memiliki hubungan dengan table post.
SELECT * FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
Source lengkap disini.
Nonaktifkan Komentar di posting lama
Setiap orang yang sudah aktif di dunia bloging bertahun-tahun akan tahu: Bahkan setelah beberapa bulan, posting lama anda akan tetap menarik pembaca dan mengirimkan banyak komentar, pada umumnya karena telah ter-index oleh search engine. Ini tentu saja hal bagus, tetapi masalahnya untuk saya adalah memiliki blog teknik dan harus menjawab banyak pertanyaan terkait posting lama yang bahkan sudah kuno.
Solusinya adalah menutup komentar secara otomatis untuk posting yang sudah sangat tua. Query berikut akan menutup komentar di posting yang di publish sebelum 1 January 2009.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2009-01-01' AND post_status = 'publish';
Source lengkap disini.
Replace URL komentator
Sebelumnya di artikel ini, saya membahas tentang fungsi replace(). Berikut adalah contoh yang bagus untuk menggunakannya: Katakanlah anda sebelumnya memiliki sebuah situs dan menggunakan URL tersebut di dalam komentar sebagai backlink ke situs ini. Jika anda menjual situs tersebut, anda dapat dengan mudah mengganti URL lama dengan URL baru anda. Jalankan query berikut dan selesai!
UPDATE wp_comments SET comment_author_url = replace( comment_author_url, 'http://urllama.com', 'http://urlbaru.com');
Source lengkap disini.
Mengganti Alamat Email komentator
Contoh lain penggunaan fungsi replace(), mengganti alamat email di field komentar dengan alamat email lainnya.
UPDATE wp_comments SET comment_author_email = replace( comment_author_email, 'email-lama@dress.com', 'email-baru@dress.com' );
Source lengkap disini.
Menghapus Komentar dengan URL tertentu
Akhir-akhir ini, banyak spammer cerdik meninggalkan komentar tertentu, tetapi dengan sebuah link yang menuju ke situs viagra. Ketika akan menghapus komentar tersebut, ternyata sudah ada banyak komentar serupa sebelumnya yang masuk ke dalam database. Query berikut akan menghapus komentar yang memiliki URL tertentu. Tanda ‘%’ artinya kata yang mengandung URL diantara tanda % akan dihapus.
DELETE FROM wp_comments WHERE comment_author_url = "%wpbeginner%";
Source lengkap disini.

