No hay ninguna consulta que sea 100% segura de eliminar todo lo que no se use y no eliminar esas cosas porque cualquier tema o complemento puede agregar opciones a la tabla wp_options
. Aún así, con un poco de esfuerzo, puede obtener una idea bastante buena de lo que no está en uso y luego decidir manualmente cuáles de esas cosas eliminar y cuáles no.
Puede colocar el siguiente código temporalmente en el archivo functions.php
de su tema y luego visitar cada página (tipo de) en su sitio público y, lo que es más importante, todas las páginas de administración en la consola de administración. Una vez que hayas hecho eso, puedes abrir tu tabla wp_options
y mirar el campo use_count
(agregado por el código a continuación) para ver qué opciones tienen un use_count
igual a cero (el recuento de uso no tiene ningún significado que no sea cualquier cosa mayor que 1 se ha leído o actualizado al menos una vez desde que agregó este código.)
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'");
}
Con esto, probablemente podrás identificar las opciones asociadas con los complementos obsoletos, los temas anteriores e incluso las opciones propias que agregaste al principio pero que ya no usas. Exportelos todos a una copia de seguridad (por si acaso) y luego elimine los que desee eliminar. Una vez que haya terminado, puede eliminar el campo use_count
(si lo desea, no le duele que esté allí) y también eliminar el código anterior de su archivo functions.php
también.
Aunque esto todavía no es perfecto, es mucho mejor que nada. Espero que ayude?