In WordPress è semplice disabilitare e riabilitare i plugin senza avere accesso al database.
La soluzione è la seguente:
function my_get_plugins() {
$base_dir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/';
$scanned_directory = array_diff( scandir( $base_dir ), array( '..', '.' ) );
$output = array();
foreach( $scanned_directory as $f ) {
if( is_dir( $base_dir . $f ) ) {
$out = array(
'path' => $base_dir . $f,
'name' => $f
);
$output[] = $out;
}
}
return $output;
}
function my_disable_plugins() {
$base_dir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/';
$plugins = my_get_plugins();
foreach( $plugins as $plugin ) {
$new_name = '_' . $plugin['name'];
rename( $base_dir . $plugin['name'], $base_dir . $new_name );
}
}
function my_enable_plugins() {
$base_dir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/';
$plugins = my_get_plugins();
foreach( $plugins as $plugin ) {
$new_name = str_replace( '_', '', $plugin['name'] );
rename( $base_dir . $plugin['name'], $base_dir . $new_name );
}
}