Kaskus

Tech

User telah dihapusAvatar border
TS
User telah dihapus
Query SQL Penting Untuk Database WordPress
To the point aja gan, beberapa hari belakangan gak sengaja ane tamasya ke Database WordPress ane di PHPMyAdmin, ane sedih gan banyak row yang cuman sampah, menuh² in table ane doank, mulai dari wp_post berupa post draft dan post revision, wp_options berupa _transient <-- banyak banget gan kalo yang ini sedih emoticon-Frown

Ane hapus manual dengan memberi tanda check (√) seperti biasa mau ane hapus, tapi ane pikir² karena banyaknya row yang cuman sampah kapan kelarnya emoticon-Cape d...

Muncul ide buat explore, bagaimana cara mengapus sampah di Database WordPress dengan sekali klik, yaitu dengan script php yang ada sql querynya, ane nemu banyak, tapi banyak juga yang gagal, dengan terpaksa ane buat sendiri berdasarkan, query sql yang muncul saat ane execute beberapa row sebagai percobaan, Berikut caranya gan :

1. Buat koneksi sql dulu
PHP Code:
<?php
mysql_connect
("DB_HOST","DB_USER","DB_PASSWORD");
$conn=mysql_select_db("DB_NAME");
if(
$conn){
 echo 
"berhasil";
}else{
 echo 
"gagal";
}
?>


isi DB_HOST, DB_USER, DB_PASSWORD, DB_NAME sesuai dengan apa yang ada pada wp-config.php beri nama koneksi.php

2. Buat query sql untuk menghapus post revision, auto draft dan draft

PHP Code:
<?php
require_once('wp-load.php');
$posts get_posts('post_type=revision&post_status=any&numberposts=-1');
foreach(
$posts as $post )
{
echo 
"{$post->post_title} ";
wp_delete_post$post ->ID,true);
}


$posts get_posts('post_status=auto-draft&numberposts=-1');
foreach(
$posts as $post )
{
echo 
"{$post->post_title} ";
wp_delete_post$post ->ID,true);

get_posts('post_type=draft&post_status=any&numberposts=-1');
foreach(
$posts as $post )
{
echo 
"{$post->post_title} ";
wp_delete_post$post ->ID,true);
}

}
?>


save beri nama delete.php

3. Menghapus table _transient pada wp_options (kalo prefix databasenya mengunakan default wordpress ya pasti prefixnya wp_ sesuaikan dengan prefik masing²)

PHP Code:
<?php
include("koneksi.php");
$sql=("DELETE FROM `wp_options` WHERE `option_name` LIKE ('%_transient_%')");
mysql_query($sql);
?>

save beri nama transient.php

4. Mengoptimalkan database
PHP Code:
<?php
include("koneksi.php");
$sql="OPTIMIZE TABLE `wp_commentmeta`, `wp_comments`, `wp_links`, `wp_options`, `wp_postmeta`, `wp_posts`, `wp_terms`, `wp_term_relationships`, `wp_term_taxonomy`, `wp_usermeta`, `wp_users`";
mysql_query($sql);
?>


prefix wp_ sesuaikan dengan prefix yang agan gunakan, dalam hal ini ane masih mengunakan table default wordpress ya, mungkin ada beberapa plugins yang membuat table, mungkin bisa agan tambahain, save beri nama optimal.php

5.Upload semua ke Root hosting tempat menginstall wordpress.

6. Cara execute, silahkan mengunjungi file yang sudah ter upload :

a. tes dolo, si php mau baik ke database apa kagak: domain.com/koneksi.php kalo muncul 'berhasil' berarti sukses.

b. Setelah itu eksekusi deh php yang ane jelasin di atas dengan mengunjungi filenya
domain.com/delete.php
domain.com/transient.php

dan paling terakhir mengoptimalkan database wordpressnya klik : domain.com/optimal.php

semua script sukses tereksekusi apa bila layar monitor ada kata 'berhasil'

Ingat gan sebelum di coba online, testing dolo pada PMA dilocalhost...

Mungkin ada uneg² atau problem, tulis di bawah gan semoga membantu ya...
Diubah oleh User telah dihapus 20-09-2014 21:02
0
1.3K
6
GuestAvatar border
Komentar yang asik ya
Urutan
Terbaru
Terlama
GuestAvatar border
Komentar yang asik ya
Komunitas Pilihan