WordPress: disabilitare e riabilitare i plugin senza avere accesso al database

WordPress: disabilitare e riabilitare i plugin senza avere accesso al database

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

Torna su