web-dev-qa-db-fra.com

Activer un plugin via PHPMyAdmin ou FTP?

Je viens de désactiver un plugin sur mon site et cela me donne maintenant l'écran blanc de la mort tant redouté. Je sais que le site ira bien si je réactive le plugin.

Est-il possible d'activer manuellement un plugin via PHPMyAdmin ou via FTP?

15
Django Reinhardt

J'ai résolu ce problème en passant par PHPMyAdmin à la table "Options" puis à la ligne active_plugins.

J'avais le suivant stocké là (formaté 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 plugin manquant) et incrémenté le a:10 à a:11 pour indiquer qu'il y avait 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 de l'article et, grâce au commentaire de JHoffmann, il apparaît que s: est la longueur de la chaîne qui suit.

Le site fonctionne maintenant comme avant!

28
Django Reinhardt
//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' );
7
Anil Jadhav

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

"_aksimet" pour le désactiver et que revenir à "aksimet" pour le réactiver (si était actif)

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

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

  1. MYSQL> wp_options
  2. rechercher l'entrée active_plugins (les deux étapes peuvent être effectuées par SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. et que d’écrire votre plug-in à ce moment-là, alors que les autres plug-in sont écrits (i est index, s correspond à la longueur de la chaîne).

J'espère que ça aide

3
kybernaut.cz

Juste une autre réponse pour une approche différente qui pourrait profiter à quelqu'un d'autre à l'avenir. Vous pouvez également déplacer le dossier du plug-in vers le dossier Utilisation obligatoire (que vous devrez probablement créer s'il n'est pas utilisé auparavant. Ce chemin est généralement le suivant:

wp-content/mu-plugins

Les plugins de ce dossier seront toujours exécutés. Reportez-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 mises en garde dans le lien ci-dessus, car d'autres problèmes pourraient empêcher le bon fonctionnement de votre plug-in.

2
TomC