it-swarm.asia

WordPress veritabanı tablolarındaki Yetim anahtarlarını nasıl silebilirim?

Özellikle wp_options tablosunda. Neredeyse 2 yıllık blog prodüksiyonundan sonra, çok fazla artmış görünüyor ve orada kaç tane saçmalık olduğunu bilmiyorum.

Yetim tuşları/satırlarında arama yapmak için WordPress 3.0 ya da güvenli bir sorgu ile çalışan bir eklenti biliyor musunuz?

10
Drake

Kullanılmayan her şeyi silmek için% 100 kesin olacak ve bu şeyleri silmeyecek bir sorgu yoktur, çünkü herhangi bir tema veya eklenti wp_options tablosuna seçenekler ekleyebilir. Yine de, küçük bir çabayla, neyin kullanılmadığına dair oldukça iyi bir fikir edinebilir ve daha sonra hangilerinin silineceğine ve hangilerinin silinmeyeceğine elle karar verebilirsiniz.

Aşağıdaki kodu geçici olarak temanızın functions.php dosyasına koyabilir ve daha sonra herkese açık sitenizdeki her bir sayfayı ve daha da önemlisi yönetici konsolundaki tüm yönetici sayfalarını ziyaret edebilirsiniz. Bunu yaptıktan sonra, hangi seçeneklerin bir wp_options değerine sahip olduğunu görmek için use_count tablonuzu açıp use_count (aşağıdaki kodla eklenir) alanına bakabilirsiniz (kullanım sayısı 1'den büyük olanların haricinde anlamsızdır) bu kodu eklediğinizden beri en az bir kez okuyun veya güncelleyin.)

global $wpdb;
header('Content-Type:text/plain');
$results = $wpdb->get_results("SHOW COLUMNS FROM wp_options WHERE Field='use_count'");
if (count($results)==0) {
    $wpdb->query("ALTER TABLE {$wpdb->options} ADD COLUMN use_count int UNSIGNED NOT NULL DEFAULT '0' AFTER autoload");
}

add_action('all','monitor_get_option_usage');
function monitor_get_option_usage($filter){
    if (preg_match('#^option_(.*)$#',$filter)) {
        increment_option_use_count(substr($filter,7));
    }
}
add_action('updated_option','monitor_update_option_usage');
function monitor_update_option_usage($option){
    increment_option_use_count($option);
}
function increment_option_use_count($option) {
    global $wpdb;
    $wpdb->query("UPDATE {$wpdb->options} SET use_count = use_count + 1 WHERE option_name = '$option'");
}

Bu sayede, uzun süredir devam eden eklentiler, eski temalar ve daha önce eklediğiniz kendi seçeneklerinizle ilişkilendirilen seçenekleri, ancak artık kullanmayacağınızı belirleyebileceksiniz. Hepsini bir yedeklemeye aktarın (sadece durumda) ve sonra silmeyi istediğinizleri silin. Tamamladığınızda, use_count alanını kaldırabilir (isterseniz, orada olması için zarar vermez) ve ayrıca yukarıdaki kodu da functions.php dosyanızdan kaldırabilirsiniz.

Bu hala mükemmel olmasa da, hiç olmamasından çok daha iyi. Umarım yardımcı olur?

7
MikeSchinkel

Eklentisi Clean Options benim için iyi çalıştı. Yazarın eklenti ile ilgili açıklaması, ihtiyacınız olana uyuyor gibi görünüyor: "Artık seçenekleri bulur ve wp_options tablosundan kaldırılmasına izin verir."

Ben henüz denemedim WP-Optimize henüz şahsen, ama o da umut verici görünüyor. Ve WP 2.7'yi desteklediğini söylüyor (Clean Options ise sadece WP 2.3 için kesin destek veriyor), Nice!

4
Mike Lee

Bu mutlaka wp_options ile ilgili sorunları kaldırmayacak ancak 3.0 sitelerimde birçok veritabanı boyutlandırma sorununu çözmek için WP-Optimize kullandım. Gereksiz posta revizyonlarını, spam yorumlarını temizler ve birçok sorunu otomatik olarak çözebilir. Ana blogumda, DB 30 MB'tan 6 MB'ın altına düşürüldü ve şimdi daha sorunsuz çalışıyor.

2
EAMann

Sitemde hem Temizlik Seçeneklerini hem de WP_Optimize komutunu çalıştırıyorum ve birleşik giriş, veritabanını mükemmel durumda tutmak için müthiş bir iş yapıyor.

1
Keith S.