it-swarm-eu.dev

Jak mohu odstranit Orphan klíče v tabulkách databáze WordPress?

Zejména v tabulce wp_options. Po téměř 2 letech výroby blogu se zdá, že se hodně zvýšil, a nevím, kolik je tam kecy.

Znáte zásuvný modul, který pracuje s WordPress 3.0 nebo bezpečný dotaz pro vyhledávání Orphan keys/rows?

10
Drake

Neexistuje žádný dotaz, který bude 100% jistý, že smaže všechno nepoužité a tyto věci neodstraní, protože jakékoli téma nebo plugin mohou přidat do tabulky wp_options možnosti. Přesto, s trochou úsilí můžete získat docela dobrou představu o tom, co se nepoužívá, a pak ručně rozhodnout, které z těch věcí odstranit a které ne.

Do souboru functions.php souboru můžete dočasně umístit následující kód a poté navštívit každou (typ) stránky na webu, který je ve veřejné správě, a co je důležitější, všechny stránky administrátora v konzole pro správu. Jakmile jste udělali, můžete otevřít tabulku wp_options a podívat se na pole use_count (přidané kódem níže), abyste zjistili, které volby mají use_count rovné nule (počet použití je většinou bezvýznamný jiný než cokoli větší než 1 byl přečteno nebo aktualizováno alespoň jednou od doby přidání tohoto kódu.)

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'");
}

S tímto budete pravděpodobně moci identifikovat možnosti, které jsou spojeny s dlouho pryč pluginy, dřívější témata a dokonce i vlastní možnosti, které jste přidali brzy, ale již nepoužíváte. Exportovat všechny do zálohy (jen v případě) a pak odstranit ty, které jsou pohodlné mazání. Jakmile budete hotovi, můžete odstranit pole use_count (pokud chcete, nebrání tomu, aby tam bylo) a také odstranit výše uvedený kód z vašeho souboru functions.php.

Ačkoli to ještě není dokonalé, je to mnohem lepší než nic. Doufám, že to pomůže?

7
MikeSchinkel

Plugin Clean Options pracoval pro mě dobře. Zdá se, že autorův popis pluginu odpovídá tomu, co potřebujete: "Nalezne osamocené možnosti a umožní jejich odstranění z tabulky wp_options."

Nikdy jsem se nesnažil WP-Optimize přesto osobně, ale taky to vypadá slibně. A říká, že podporuje WP 2.7 (zatímco Clean Options uvádí pouze jednoznačnou podporu pro WP 2.3), Nice!

4
Mike Lee

To nebude nutně odstranit problémy s wp_options, ale já jsem použil WP-Optimize opravit spoustu problémů s velikostí databáze na mých 3.0 stránkách. Vyčistí nepotřebné post revize, spam komentáře, a může automaticky opravit spoustu problémů. Na mém hlavním blogu byl DB snížen z 30 MB na pouhých 6 MB a nyní běží mnohem plynule.

2
EAMann

Spouštím Čisté Možnosti a WP_Optimize na mých stránkách, a combo dělá skvělou práci udržet databázi ve skvělé formě.

1
Keith S.