¿Activar un plugin a través de PHPMyAdmin o FTP?

26 ago 2015, 18:47:24
Vistas: 88.4K
Votos: 25

Acabo de desactivar un plugin en mi sitio y ahora me muestra la temida pantalla blanca de la muerte. Sé que el sitio funcionará bien si reactivo el plugin.

¿Hay alguna forma de activar manualmente un plugin a través de PHPMyAdmin o mediante FTP?

1
Comentarios

probablemente sería útil informar al desarrollador del plugin sobre lo ocurrido. Quizás el plugin necesita un poco de trabajo

User User
27 ago 2015 11:26:12
Todas las respuestas a la pregunta 4
10
42

Solucioné esto yendo a PHPMyAdmin a la tabla "Options" y luego a la fila active_plugins.

Tenía lo siguiente almacenado allí (formateado para legibilidad):

a:10:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

Agregué una nueva línea (para el plugin faltante) e incrementé el a:10 a a:11 para indicar que ahora hay 11 elementos en el array:

a:11:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:5;s:40:"sitepress-multilingual-cms/sitepress.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

i: parece ser el número de ítem, y gracias al comentario de JHoffmann, parece que s: es la longitud de la cadena que sigue.

¡El sitio ahora funciona como antes!

26 ago 2015 19:32:38
Comentarios

La s representa una cadena (string) y el número que le sigue indica la longitud de dicha cadena.

JHoffmann JHoffmann
26 ago 2015 19:37:20

@JHoffmann ¡Gracias por eso! He actualizado mi respuesta. ¿Podrías decirme dónde aprendiste eso? ¿Existe algún buen recurso que explique este tipo de cosas? Gracias.

Django Reinhardt Django Reinhardt
26 ago 2015 19:40:06

i en realidad significa valor entero (integer), s significa cadena (string) y el número junto a s indica la longitud de la cadena.

Pieter Goosen Pieter Goosen
27 ago 2015 11:25:46

@PieterGoosen La misma pregunta para ti: ¿Dónde aprendiste eso? ¿Existe algún recurso en algún lugar?

Django Reinhardt Django Reinhardt
27 ago 2015 14:10:49

Eso son datos serializados. No tengo una fuente exacta, pero puedes investigar sobre datos serializados. También puedes mirar JSON ya que es donde más se utilizan los datos serializados

Pieter Goosen Pieter Goosen
27 ago 2015 14:18:13

@DjangoReinhardt Como dijo Pieter Goosen, estos son datos serializados generados por la función serialize de php. En WordPress también hay una función envoltorio llamada maybe_serialize

JHoffmann JHoffmann
28 ago 2015 02:25:32

Ojalá estandarizaran el nombre del archivo del plugin que declara el plugin en sí. Estoy trabajando en un script que descargará, instalará y activará los plugins automáticamente. ¡Esto es la pieza que me falta!

cpcdev cpcdev
7 may 2016 02:14:33

Actualizar ese valor directamente en la tabla de la base de datos ha causado que todos mis plugins se desactiven. Después de hacer eso, necesito habilitar todos los plugins nuevamente a través de la interfaz de administración de Wordpress. Me pregunto qué causa que los plugins se desactiven después de actualizar el valor de la opción 'active_plugins'.

Marcos Buarque Marcos Buarque
26 sept 2018 16:24:32

Funciona de maravilla. Gracias campeones.

Umar Niazi Umar Niazi
12 dic 2020 08:11:10

Secundo, esto funcionó exactamente como se describió para mí. Curiosamente, parece que los valores i: no necesitan ser contiguos... Yo tenía a:40 y luego los números i iban de 0 a 38 y el último era 40, no había 39. Cambié a: a 41 y agregué mi nuevo plugin al final con i:41 y funcionó perfectamente.

John Smith John Smith
25 feb 2024 06:40:07
Mostrar los 5 comentarios restantes
5
19
//Usando este código puedes activar tu plugin desde el functions.php
    function activate_plugin_via_php() {
        $active_plugins = get_option( 'active_plugins' );
        array_push($active_plugins, 'unyson/unyson.php'); /* Aquí solo reemplaza el directorio del plugin unyson y el archivo del plugin*/
        update_option( 'active_plugins', $active_plugins );    
    }
    add_action( 'init', 'activate_plugin_via_php' );
16 jul 2016 21:47:16
Comentarios

Si deseas activar más de un plugin, simplemente repite...

Anil Jadhav Anil Jadhav
16 jul 2016 21:49:49

array_push($active_plugins, 'unyson/unyson.php');

Anil Jadhav Anil Jadhav
16 jul 2016 21:49:56

también podrías agregar un if(!in_array('unyson/unyson.php',$active_plugins)) para asegurarte de que no se añada más de una vez

Pierre Pierre
28 may 2018 14:00:12

¿Dónde puedo encontrar functions.php? ¿Está en la carpeta del tema o en wp-includes?

Wesley Gonçalves Wesley Gonçalves
11 may 2020 06:06:49

Mi instinto dice que, aunque la respuesta marcada como correcta funciona, esta debería ser la marcada como correcta, ya que es completamente desde WordPress, no implica manipular directamente la base de datos y, en general, es menos propenso a errores hacerlo. functions.php está en la carpeta del tema, generalmente deberías crear un tema hijo y editarlo allí, ya que el functions.php del tema padre perderá tus ediciones la próxima vez que se actualice el tema.

John Smith John Smith
25 feb 2024 06:42:37
3

Otra respuesta para un enfoque diferente que podría beneficiar a alguien más en el futuro. También podrías mover la carpeta del plugin a la carpeta de Must Use (que probablemente necesitarás crear si no la has usado antes). Esta ruta suele ser:

wp-content/mu-plugins

Los plugins en esta carpeta siempre se ejecutarán. Consulta lo siguiente para más información:

https://codex.wordpress.org/Must_Use_Plugins

Nota: Lo único a considerar es que estos plugins se cargan antes que otros en la carpeta de plugins. También consulta las advertencias en el enlace anterior, ya que puede haber otros problemas que podrían evitar que tu plugin funcione correctamente.

1 jun 2016 10:04:12
Comentarios

Me salvó la vida en un sitio web de 5 años creado por otro desarrollador que había instalado 2 plugins dependientes entre sí y en el cual desactivé accidentalmente uno de ellos.

Meloman Meloman
3 jul 2020 09:32:41

Jaja - ¡me alegra saber que te funcionó! :)

TomC TomC
3 jul 2020 09:33:41

Una solución alternativa excelente, gracias por publicar esto, acabo de aprender algo nuevo. :-)

Trisha Trisha
5 jul 2022 23:08:42
4

Puedes simplemente renombrar la carpeta del plugin, por ejemplo:

"_aksimet" para desactivarlo y luego volver a "aksimet" para activarlo nuevamente (si estaba activo)

Puedes hacer esto con todas las carpetas de "plugins" juntas.

De lo contrario, ve a MySQL y revisa este manual paso a paso, en resumen:

  1. MYSQL > wp_options
  2. busca la entrada active_plugins (ambos pasos se pueden hacer con SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. y luego escribe tu plugin allí como están escritos los otros plugins (i es índice, s es para la longitud de la cadena).

Espero que ayude

26 ago 2015 18:49:49
Comentarios

Gracias. Intenté desactivarlo y resulta que el código del plugin está demasiado integrado en todo el sitio. Necesito una forma de reactivarlo :(

Django Reinhardt Django Reinhardt
26 ago 2015 18:57:15

¿Qué quieres decir con eso? Para reactivarlo simplemente cambia el nombre de vuelta. ¿Tienes algún error o algo así?

Karolína Vyskočilová Karolína Vyskočilová
26 ago 2015 19:28:57

El plugin fue desactivado a través de la interfaz de WP Admin. Una vez desactivado, ya no pude acceder a mi sitio. No había nada que "renombrar" ya que no lo desactivé cambiando el nombre por FTP.

Django Reinhardt Django Reinhardt
26 ago 2015 19:33:28

He actualizado mi respuesta, pero eso definitivamente es extraño. ¿Qué plugin era? Tal vez puedas volver a twentyfifteen (renombrando tu tema), activarlo y ver qué salió mal, y luego volver a tu tema.

Karolína Vyskočilová Karolína Vyskočilová
27 ago 2015 11:20:34