Activer un plugin via PHPMyAdmin ou FTP?

18

Je viens de désactiver un plugin sur mon site et ça me donne maintenant le redoutable écran blanc de la mort. Je sais que le site ira bien si je réactive le plugin.

Existe-t-il un moyen d'activer manuellement un plugin via PHPMyAdmin ou via FTP?

Django Reinhardt
la source
probablement utile de dire au propriétaire du plugin que cela s'est produit. Peut - être que le plugin a besoin d'un peu de travail
Benny

Réponses:

32

J'ai corrigé cela en passant par PHPMyAdmin dans le tableau "Options" puis la ligne active_plugins.

J'y avais stocké les éléments suivants (formatés pour la lisibilité):

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";
}

J'ai ajouté une nouvelle ligne (pour le plug - in manquant) et incrémente la a:10pour a:11indiquer qu'il ya maintenant 11 éléments dans le tableau:

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:semble être le numéro d'article, et grâce au commentaire de JHoffmann, il semble que s:c'est la longueur de la chaîne qui suit.

Le site fonctionne désormais comme avant!

Django Reinhardt
la source
2
Le sreprésente la chaîne et le nombre suivant est la longueur de la chaîne.
JHoffmann
@JHoffmann Merci pour ça! Mis à jour ma réponse. Pouvez-vous me dire où vous avez appris cela? Existe-t-il une bonne ressource quelque part qui explique de telles choses? Merci.
Django Reinhardt
isignifie en fait une valeur entière, ssignifie une chaîne et le nombre à côté sest la longueur de la chaîne
Pieter Goosen
1
Ce sont des données sérialisées. Je n'ai pas de source exacte, mais vous pouvez consulter les données sérialisées. Vous pouvez également regarder JSON car c'est plus là où les données sérialisées sont utilisées
Pieter Goosen
1
@DjangoReinhardt Comme Pieter Goosen l'a dit, il s'agit de données sérialisées car elles sont générées par la fonction de sérialisation de php . Dans wordpress, il y a aussi une fonction wrapper appelée peut
être_sérialiser
12
//Using this code you can activate your plugin from the functions.php
    function activate_plugin_via_php() {
        $active_plugins = get_option( 'active_plugins' );
        array_push($active_plugins, 'unyson/unyson.php'); /* Here just replace unyson plugin directory and plugin file*/
        update_option( 'active_plugins', $active_plugins );    
    }
    add_action( 'init', 'activate_plugin_via_php' );
Anil Jadhav
la source
Si vous souhaitez activer plus d'un plugin, répétez simplement ...
Anil Jadhav
array_push ($ active_plugins, 'unyson / unyson.php');
Anil Jadhav
1
vous pouvez également ajouter un if (! in_array ('unyson / unyson.php', $ active_plugins)) pour vous assurer qu'il n'est pas ajouté plusieurs fois
Pierre
3

Vous pouvez simplement renommer le dossier du plugin, par exemple:

"_aksimet"pour le désactiver et revenir à l' "aksimet"activer à nouveau (s'il était actif)

vous pouvez le faire avec tous les dossiers "plugins" ensemble.

Sinon, allez sur MySQL et jetez un œil à ce manuel étape par étape , en bref:

  1. MYSQL> wp_options
  2. rechercher une active_pluginsentrée (les deux étapes peuvent être effectuées par SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. et que vous y écrivez votre plugin au fur et à mesure que les autres plugins sont écrits ( iest index, sest pour la longueur de la chaîne).

J'espère que cela aide

kybernaut.cz
la source
Merci. J'ai essayé de désactiver et il s'avère que le code du plugin est bien trop ancré sur l'ensemble du site. J'ai besoin d'un moyen de le réactiver :(
Django Reinhardt
Que veux-tu dire par là? Pour la réactivation, renommez-le simplement. Avez-vous des erreurs?
kybernaut.cz
Le plugin a été désactivé via l'interface d'administration WP. Une fois désactivé, je ne pouvais plus accéder à mon site. Il n'y avait rien à "renommer" car je ne l'ai pas désactivé en le renommant via FTP.
Django Reinhardt
J'ai mis à jour ma réponse, mais c'est vraiment bizarre. De quel plugin s'agissait-il? Peut-être que vous pouvez revenir à vingt-quinze (renommer votre thème), l'activer et vérifier ce qui ne va pas et revenir à votre thème.
kybernaut.cz
2

Juste une autre réponse pour une approche différente qui pourrait bénéficier à quelqu'un d'autre à l'avenir. Vous pouvez également déplacer le dossier du plugin vers le dossier Must Use (que vous devrez probablement créer s'il n'est pas utilisé auparavant. Ce chemin est généralement:

wp-content/mu-plugins

Les plugins de ce dossier seront toujours exécutés. Référez-vous à ce qui suit pour plus d'informations:

https://codex.wordpress.org/Must_Use_Plugins

Remarque: La seule chose à considérer est que ces plugins sont chargés avant les autres dans le dossier plugins. Reportez-vous également aux avertissements dans le lien ci-dessus car il peut y avoir d'autres problèmes qui pourraient empêcher votre plugin de fonctionner correctement.

TomC
la source