do_reinstall( $params ); if (is_wp_error($result)) { WP_CLI::error( $result->get_error_message ); } else { WP_CLI::success( 'Database has been reset.' ); } } // reset /** * Display WP Reset version. * * @when after_wp_load */ function version( $args, $assoc_args ) { global $wp_reset; WP_CLI::line( 'WP Reset v' . $wp_reset->version ); } // version /** * Delete selected WordPress objects. * * ## OPTIONS * * * : WP objects to delete. * * [--yes] * : Answer yes to the confirmation message. * * ## EXAMPLES * * $ wp reset delete themes --yes * Success: 3 themes have been deleted. * * @when after_wp_load */ function delete( $args, $assoc_args ) { global $wp_reset; if ( empty( $args[0] ) ) { WP_CLI::error( 'Please choose a subcommand: plugins, themes, transients or uploads.' ); return; } elseif ( false == in_array( $args[0], array( 'themes', 'plugins', 'transients', 'uploads' ) ) ) { WP_CLI::error( 'Unknown subcommand. Please choose from: plugins, themes, transients or uploads.' ); } else { $subcommand = $args[0]; } switch ($subcommand) { case 'themes': WP_CLI::confirm( 'Are you sure you want to delete all themes?', $assoc_args ); $cnt = $wp_reset->do_delete_themes( false ); WP_CLI::success( $cnt . ' themes have been deleted.' ); break; case 'plugins': WP_CLI::confirm( 'Are you sure you want to delete all plugins?', $assoc_args ); $cnt = $wp_reset->do_delete_plugins( true, false ); WP_CLI::success( $cnt . ' plugins have been deleted.' ); break; case 'transients': WP_CLI::confirm( 'Are you sure you want to delete all transients?', $assoc_args ); $cnt = $wp_reset->do_delete_transients(); WP_CLI::success( $cnt . ' transient database entries have been deleted.' ); break; case 'uploads': WP_CLI::confirm( 'Are you sure you want to delete all files & folders in /uploads/ folder?', $assoc_args ); $cnt = $wp_reset->do_delete_uploads(); WP_CLI::success( $cnt . ' files & folders have been deleted.' ); break; default: // should never come to this but can't hurt WP_CLI::error( 'Unknown subcommand. Please choose from: plugins, themes, transients or uploads.' ); return; } } // delete } // WP_Reset_CLI WP_CLI::add_command( 'reset', 'WP_Reset_CLI' );