Respuestas:
No hay ninguna consulta que sea 100% segura de eliminar todo lo que no se utiliza y no eliminar esas cosas porque cualquier tema o complemento puede agregar opciones a la wp_options
tabla. Aún así, con un poco de esfuerzo, puede tener 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 poner el siguiente código temporalmente en el functions.php
archivo de su tema y luego visitar cada (tipo de) página 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 haya hecho eso, puede abrir su wp_options
tabla y mirar el campo use_count
(agregado por el código a continuación) para ver qué opciones tienen un valor use_count
igual a cero (el recuento de uso no tiene sentido, salvo que se haya leído o actualizado algo mayor que 1 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á identificar las opciones que están asociadas con complementos antiguos, temas anteriores e incluso opciones propias que agregó desde el principio, pero que ya no usa. Exporte todos a una copia de seguridad (por si acaso) y luego elimine los que le resulte cómodo eliminar. Una vez que haya terminado, puede eliminar el use_count
campo (si lo desea, no hace daño que esté allí) y también eliminar el código anterior de su functions.php
archivo también.
Aunque esto todavía no es perfecto, es mucho mejor que nada. ¿Espero eso ayude?
El complemento Opciones de limpieza me ha funcionado bien. La descripción del autor del complemento parece ajustarse a lo que necesita: "Encuentra opciones huérfanas y permite su eliminación de la tabla wp_options".
No he probado WP-Optimize todavía personalmente, pero ese también parece prometedor. Y dice que es compatible con WP 2.7 (mientras que Clean Options solo menciona soporte definitivo para WP 2.3), ¡genial!
Esto no eliminará necesariamente los problemas, wp_options
pero he utilizado WP-Optimize para solucionar muchos problemas de tamaño de la base de datos en mis sitios 3.0. Elimina revisiones de publicaciones innecesarias, comentarios de spam y puede solucionar automáticamente muchos problemas. En mi blog principal, la base de datos se redujo de 30 MB a poco menos de 6 MB y ahora funciona mucho mejor.