Habilitar o deshabilitar rápidamente todos los plugins de WordPress desde la base de datos
Cuando sufrimos el temido “pantallazo blanco de la muerte” de WordPress, podemos estar sufriendo, entre otros problemas, una incompatibilidad entre plugins o de un plugin en particular. No podemos acceder al panel de administración y necesitamos tratar de resolverlo cuanto antes. ¿Qué hacemos? Deshabilitar todos los plugins desde la base de datos. Veamos cómo hacerlo.
Ésto puede ser también útil no sólo para problemas de pantallazos, sino para ahorrar tiempo en la habilitación o deshabilitación de plugins.
Veamos, lo primero que tenemos que hacer es acceder a nuestra base de datos. Con los datos de inicio de sesión que tiene WordPress almacenados internamente en “wp-config.php” podemos acceder usando un cliente como:
- phpMyAdmin
- HeidiSQL
- SQLyog (la versión Community es de código libre y funciona bien con Wine)
- O directamente con la línea de comandos
Una vez dentro de la base de datos de WordPress, nos dirigimos a la tabla de opciones, normalmente “wp_options” (puede cambiar el prefijo). Dentro de dicha tabla, hacemos una consulta para ver los plugins activos:
SELECT * FROM wp_options WHERE option_name = 'active_plugins';
El resultado será algo similar a esto:
a:20:{i:0;s:19:”akismet/
akismet.php”;i:1;s:43:”all-in- one-seo-pack/all_in_one_seo_ pack.php”;i:2;s:19:”anti- email-spam.php”;i:3;s:36:” contact-form-7/wp-contact- form-7.php”;i:4;s:28:”embed- iframe/embediframe.php”;i:5;s: 32:”facepress-ii/FT-Facepress- II.php”;i:6;s:50:”google- analytics-for-wordpress/ googleanalytics.php”;i:7;s:36: “google-sitemap-generator/ sitemap.php”;i:8;s:21:”hgk- smtp/hgk-smtp.php”;i:9;s:24:” ic-besocial/besocial.php”;i: 10;s:45:”limit-login-attempts/ limit-login-attempts.php”;i: 11;s:37:”shutter-reloaded/ shutter-reloaded.php”;i:12;s: 65:”subscribe-to-comments- reloaded/subscribe-to- comments-reloaded.php”;i:13;s: 23:”wp-minify/wp-minify.php”; i:14;s:27:”wp-pagenavi/wp- pagenavi.php”;i:15;s:39:”wp- recentcomments/wp- recentcomments.php”;i:16;s:25: “wp-smushit/wp-smushit.php”;i: 17;s:27:”wp-super-cache/wp- cache.php”;i:18;s:31:”wp-to- twitter/wp-to-twitter.php”;i: 19;s:19:”wptouch/wptouch.php”; }
Guardamos este resultado en un fichero de texto y lo conservamos (nos lo mandamos por correo o algo por si lo necesitamos restaurar). Ahora nos toca actualizar esta opción para deshabilitarlos todos en una sola instrucción, depende de la versión de WordPress que manejemos:
- Si usamos WordPress 2.9 o superior (lo recomendable):
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
- Si usamos una versión anterior:
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
Para volver a habilitar los plugins deshabilitados, haríamos lo mismo pero dentro de SET option_value = ‘aquí el contenido antiguo’ y todo volverá a estar como antes (esto es útil por ejemplo si estamos seguros de que el problema no es de los plugins).