I've just disabled a plugin on my site and it's now giving me the dreaded white screen of death. I know the site will be fine if I reactivate the plugin.
Is there a way to manually activate a plugin through PHPMyAdmin or over FTP?
I've just disabled a plugin on my site and it's now giving me the dreaded white screen of death. I know the site will be fine if I reactivate the plugin.
Is there a way to manually activate a plugin through PHPMyAdmin or over FTP?
I fixed this by going through PHPMyAdmin to the table "Options" and then the row active_plugins
.
I had the following stored there (formatted for readability):
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";
}
I added a new line (for the missing plugin) and incremented the a:10
to a:11
to indicate that there are now 11 items in the 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:
appears to be item number, and thanks to JHoffmann's comment, it appears s:
is the length of the string that follows.
The site now works as before!
s
stands for string and the number following is the length of the string.
Commented
Aug 26, 2015 at 16:37
i
actually means integer value, s
means string and the number next to s
is the lenght of the string
Commented
Aug 27, 2015 at 8:25
//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' );
functions.php
? Is it in the theme folder or in wp-includes
?
Commented
May 11, 2020 at 3:06
functions.php
is in the theme folder, generally you should create a child theme and edit it in there, since the parent functions.php
will lose your edits next time the theme updates.
Commented
Feb 25 at 4:42
Just another answer for a different approach that could benefit someone else in the future. You could also move the plugin folder to the Must Use folder (which you will probably need to create if not used before. This path is usually:
wp-content/mu-plugins
Plugins in this folder will always run. Refer to the following for more info:
https://codex.wordpress.org/Must_Use_Plugins
Note: The only thing to consider is that these plugins are loaded before others in the plugins folder. Also refer to the caveats in the above link as there may be other issues that could prevent your plugin working correctly.
You can simply rename the plugin folder, for example:
"_aksimet"
to deactive it
and than back to
"aksimet"
to activate it again (if was active)
you can do that with all "plugins" folder together.
Otherwise, go to MySQL and have a look at this step by step manual, in short:
wp_options
active_plugins
entry
(both steps can be done by SELECT * FROM wp_options WHERE option_name = 'active_plugins';
)i
is index, s
is for the length of string).Hope it helps