Solucionando problemas comunes en WordPress

Cómo desactivar plugins de WordPress sin acceso al area de administración

Respuesta rápida (en caso de urgencia):

  • Por FTP. Renombra la carpeta “plugins” y crea otra igual, pero vacía.
  • O a través de phpMyAdmin. Edita el campo “active_plugins” (en la tabla “wp_options“) y vacía la lista de plugins activos sustituyendo el contenido por: “a:0:{}” (sin las comillas)

Respuesta completa

Es probable que en alguna ocasión necesitemos desactivar todos los plugins (o solo alguno) de nuestra instalación de WordPress pero, por una u otra razón, no podamos acceder al area de administración: páginas en blanco, pérdida de los datos de acceso o cualquier otra razón.

Por ejemplo, podemos encontrarnos con páginas en blanco en el panel de administración cuando algún plugin no es compatible con la versión de WordPress que tenemos instalada (o simplemente porque contiene errores), cuando el archivo “functions.php” del tema activo o “wp-config” están mal formados, etc.

Para comprobar si se trata de un problema con algún plugin instalado, tendremos que desactivarlos todos e ir activándolos de uno en uno, pero como no podemos acceder a la página de gestión, no podemos hacer nada.

Hay dos maneras de solucionarlo: por FTP o accediendo directamente a la base de datos a través de phpMyAdmin (o cualquier otro gestor).

Información relacionada:
Cómo ocultar plugins activos en WordPress para evitar miradas curiosas.

Cómo desactivar plugins por FTP

Si tenemos acceso FTP a los archivos de la instalación, lo único que tenemos que hacer es cambiar el nombre de la carpeta “plugins (en wp-content/plugins), por ejemplo llamándola “plugins_original”, y crear una carpeta nueva vacía. Paso a paso sería así:

  1. Acceder por FTP a nuestra instalación de WordPress
  2. Abrir la carpeta “wp-content
  3. Buscar la carpeta “plugins” y cambiarle el nombre (por ejemplo, “plugins_original”)
  4. Crear una carpeta nueva y llamarla “plugins”

Al volver a acceder al panel de administración nos aparecerá un mensaje de error por cada plugin que teníamos activado, pero en este caso, eso es precisamente lo que buscábamos: “El plugin X se ha desactivado debido a un error: El archivo del plugin no existe.

Si volvermos a renombrar la carpeta original por FTP, los plugins aparecerán como inactivos y podremos volver a activarlos uno a uno, fijándonos bien cual es el que causa problemas.

Cómo desactivar plugins en phpMyAdmin

Lo que vamos a hacer es decirle al sistema que no tenemos ningún plugin activado, es decir, el mismo método que el anterior pero, esta vez, marcándolo directamente en la base de datos. En otras palabras, no vamos a eliminar ninguna extensión, solo a desactivarlas “a distancia”. Para ello tendremos que:

  1. Acceder a través de phpMyAdmin a la base de datos de nuestra instalación de WordPress
  2. Examinar la tabla “wp_options” (el prefijo “wp_” puede variar según la instalación)
  3. Buscar en la columna “option_name” la fila “active_plugins” (puede que no esté en la primera página). O también podemos hacer una consulta SQL directa. Así:
    SELECT * FROM wp_options WHERE option_name = 'active_plugins';
  4. Editar esta fila
  5. En el campo “option_value” veremos una lista de todos nuestros plugins activos en forma de cadena. Lógicamente la longitud y el contenido variará dependiendo de los que tengamos activados:
    a:2:{i:0;s:19:"akismet/akismet.php";i:1;s:27:"wp-pagenavi/wp-pagenavi.php";}
  6. Guardar una copia de esta cadena (por si acaso, para poder volver a activar los plugins más tarde) y sustituirla por:
    a:0:{}
  7. Finalmente guardamos los cambios pulsando “Continuar”

Ahora podremos volver a acceder al panel de administración de WordPress. Si el problema de las páginas en blanco continúa, lo más probable es que los archivos “functions.php” o “wp-config” estén mal formados.

Más información (en inglés):
How to deactivate all plugins when not able to access the administrative menus?