Il n'y a pas de requête qui sera sûre à 100% de supprimer tout ce qui n'est pas utilisé et de ne pas supprimer ces choses car n'importe quel thème ou plugin peut ajouter des options au wp_options
tableau. Pourtant, avec un petit effort, vous pouvez avoir une assez bonne idée de ce qui n'est pas utilisé, puis décider manuellement lesquelles de ces choses supprimer et lesquelles ne pas le faire.
Vous pouvez mettre temporairement le code suivant dans le functions.php
fichier de votre thème, puis visiter chaque (type de) page de votre site public et, plus important encore, toutes les pages d'administration de la console d'administration. Une fois que vous avez fait cela, vous pouvez ouvrir votre wp_options
table et regarder le champ use_count
(ajouté par le code ci-dessous) pour voir quelles options ont un use_count
égal à zéro (le nombre d'utilisation n'a généralement pas de sens, sauf si tout ce qui est supérieur à 1 a été lu ou mis à jour) au moins une fois depuis que vous avez ajouté ce code.)
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'");
}
Avec cela, vous serez probablement en mesure d'identifier les options associées aux plugins disparus depuis longtemps, aux anciens thèmes et même aux options que vous avez ajoutées au début, mais que vous n'utilisez plus. Exportez-les tous vers une sauvegarde (au cas où), puis supprimez ceux que vous êtes prêt à supprimer. Une fois que vous avez terminé, vous pouvez supprimer le use_count
champ (si vous le souhaitez, cela ne fait pas de mal qu'il soit là) et également supprimer le code ci-dessus de votre functions.php
fichier.
Bien que ce ne soit toujours pas parfait, c'est beaucoup mieux que rien. J'espère que ça aide?