PluginProbe
WP Reset / 2.05
WP Reset v2.05
trunk 1.0 1.1 1.11 1.20 1.25 1.30 1.35 1.40 1.45 1.50 1.55 1.60 1.65 1.70 1.75 1.77 1.80 1.81 1.82 1.83 1.84 1.85 1.86 1.90 All 42 releases
← All changes | wp-reset-cli.php +276 -244 1.452.05 View file →
@@ -1,15 +1,16 @@
1 1 <?php
2 +
2 3 /**
3 4 * WP Reset
4 5 * https://wpreset.com/
5 - * (c) WebFactory Ltd, 2017-2018
6 + * (c) WebFactory Ltd, 2017-2023
6 7 */
7 8
8 9
9 10 // include only file
10 11 if (!defined('ABSPATH')) {
11 - wp_die(__('Do not open this file directly.', 'wp-error'));
12 + die('Do not open this file directly.');
12 13 }
13 14
14 15
15 16 /**
@@ -14,281 +15,312 @@
14 15
15 16 /**
16 17 * Resets the site to the default values without modifying any files.
17 18 */
18 -class WP_Reset_CLI extends WP_CLI_Command {
19 +class WP_Reset_CLI extends WP_CLI_Command
20 +{
19 21
20 - /**
21 - * Reset the site database to default values. No files are modified.
22 - *
23 - * ## OPTIONS
24 - *
25 - * [--reactivate-theme]
26 - * : Reactivate currently active theme after reset.
27 - *
28 - * [--reactivate-plugins]
29 - * : Reactivate all currently active plugins after reset.
30 - *
31 - * [--deactivate-wp-reset]
32 - * : Deactivate WP Reset plugin after reset. By default it will stay active after reset.
33 - *
34 - * [--yes]
35 - * : Answer yes to the confirmation message.
36 - *
37 - * ## EXAMPLES
38 - *
39 - * $ wp reset reset --yes
40 - * Success: Database has been reset.
41 - *
42 - * @when after_wp_load
43 - */
44 - function reset( $args, $assoc_args ) {
45 - WP_CLI::confirm( 'Are you sure you want to reset the site? There is NO UNDO!', $assoc_args );
22 + /**
23 + * Reset the site database to default values. No files are modified.
24 + *
25 + * ## OPTIONS
26 + *
27 + * [--reactivate-theme]
28 + * : Reactivate currently active theme after reset.
29 + *
30 + * [--reactivate-plugins]
31 + * : Reactivate all currently active plugins after reset.
32 + *
33 + * [--deactivate-wp-reset]
34 + * : Deactivate WP Reset plugin after reset. By default it will stay active after reset.
35 + *
36 + * [--yes]
37 + * : Answer yes to the confirmation message.
38 + *
39 + * ## EXAMPLES
40 + *
41 + * $ wp reset reset --yes
42 + * Success: Database has been reset.
43 + *
44 + * @when after_wp_load
45 + */
46 + function reset($args, $assoc_args)
47 + {
48 + WP_CLI::confirm('Are you sure you want to reset the site? There is NO UNDO!', $assoc_args);
46 49
47 - global $wp_reset;
48 - $params = array();
50 + global $wp_reset;
51 + $params = array();
49 52
50 - if ( !empty( $assoc_args['reactivate-theme'] ) ) {
51 - $params['reactivate_theme'] = true;
52 - }
53 - if ( !empty( $assoc_args['disable-wp-reset'] ) ) {
54 - $params['reactivate_wpreset'] = false;
55 - } else {
56 - $params['reactivate_wpreset'] = true;
57 - }
58 - if ( !empty( $assoc_args['reactivate-plugins'] ) ) {
59 - $params['reactivate_plugins'] = true;
60 - }
53 + if (!empty($assoc_args['reactivate-theme'])) {
54 + $params['reactivate_theme'] = true;
55 + }
56 + if (!empty($assoc_args['disable-wp-reset'])) {
57 + $params['reactivate_wpreset'] = false;
58 + } else {
59 + $params['reactivate_wpreset'] = true;
60 + }
61 + if (!empty($assoc_args['reactivate-plugins'])) {
62 + $params['reactivate_plugins'] = true;
63 + }
61 64
62 - $result = $wp_reset->do_reinstall( $params );
63 - if (is_wp_error($result)) {
64 - WP_CLI::error( $result->get_error_message );
65 - } else {
66 - WP_CLI::success( 'Database has been reset.' );
67 - }
68 - } // reset
65 + $result = $wp_reset->do_reinstall($params);
66 + if (is_wp_error($result)) {
67 + WP_CLI::error($result->get_error_message);
68 + } else {
69 + WP_CLI::success('Database has been reset.');
70 + }
71 + } // reset
69 72
70 73
71 - /**
72 - * Display WP Reset version.
73 - *
74 - * @when after_wp_load
75 - */
76 - function version( $args, $assoc_args ) {
77 - global $wp_reset;
74 + /**
75 + * Display WP Reset version.
76 + *
77 + * @when after_wp_load
78 + */
79 + function version($args, $assoc_args)
80 + {
81 + global $wp_reset;
78 82
79 - WP_CLI::line( 'WP Reset v' . $wp_reset->version );
80 - } // version
83 + WP_CLI::line('WP Reset v' . $wp_reset->version);
84 + } // version
81 85
82 86
83 - /**
84 - * Delete selected WordPress objects.
85 - *
86 - * ## OPTIONS
87 - *
88 - * <plugins|themes|transients|uploads|custom-tables>
89 - * : WP objects to delete.
90 - *
91 - * [--yes]
92 - * : Answer yes to the confirmation message.
93 - *
94 - * [--empty]
95 - * : Empty (truncate) custom tables instead of deleting (dropping) them.
96 - *
97 - * ## EXAMPLES
98 - *
99 - * $ wp reset delete themes --yes
100 - * Success: 3 themes have been deleted.
101 - *
102 - * $ wp reset delete custom-tables --truncate --yes
103 - * Success: 3 custom tables have been emptied.
104 - *
105 - * @when after_wp_load
106 - */
107 - function delete( $args, $assoc_args ) {
108 - global $wp_reset, $wpdb;
87 + /**
88 + * Delete selected WordPress objects.
89 + *
90 + * ## OPTIONS
91 + *
92 + * <plugins|themes|transients|uploads|custom-tables|htaccess|theme-options>
93 + * : WP objects to delete.
94 + *
95 + * [--yes]
96 + * : Answer yes to the confirmation message.
97 + *
98 + * [--empty]
99 + * : Empty (truncate) custom tables instead of deleting (dropping) them.
100 + *
101 + * ## EXAMPLES
102 + *
103 + * $ wp reset delete themes --yes
104 + * Success: 3 themes have been deleted.
105 + *
106 + * $ wp reset delete custom-tables --truncate --yes
107 + * Success: 3 custom tables have been emptied.
108 + *
109 + * $ wp reset delete htaccess --yes
110 + * Success: Htaccess file has been deleted.
111 + *
112 + * @when after_wp_load
113 + */
114 + function delete($args, $assoc_args)
115 + {
116 + global $wp_reset, $wpdb;
109 117
110 - if ( empty( $args[0] ) ) {
111 - WP_CLI::error( 'Please choose a subcommand: plugins, themes, transients, uploads or custom-tables.' );
112 - return;
113 - } elseif ( false == in_array( $args[0], array( 'themes', 'plugins', 'transients', 'uploads', 'custom-tables' ) ) ) {
114 - WP_CLI::error( 'Unknown subcommand. Please choose from: plugins, themes, transients, uploads or custom tables.' );
115 - } else {
116 - $subcommand = $args[0];
117 - }
118 + if (empty($args[0])) {
119 + WP_CLI::error('Please choose a subcommand: plugins, themes, transients, uploads, htaccess or custom-tables.');
120 + return;
121 + } elseif (false == in_array($args[0], array('themes', 'plugins', 'transients', 'uploads', 'htaccess', 'custom-tables', 'theme-options'))) {
122 + WP_CLI::error('Unknown subcommand. Please choose from: plugins, themes, transients, uploads, htaccess, custom tables or theme-options.');
123 + } else {
124 + $subcommand = $args[0];
125 + }
118 126
119 - switch ($subcommand) {
120 - case 'themes':
121 - WP_CLI::confirm( 'Are you sure you want to delete all themes?', $assoc_args );
122 - $cnt = $wp_reset->do_delete_themes( false );
123 - WP_CLI::success( $cnt . ' themes have been deleted.' );
127 + switch ($subcommand) {
128 + case 'themes':
129 + WP_CLI::confirm('Are you sure you want to delete all themes?', $assoc_args);
130 + $cnt = $wp_reset->do_delete_themes(false);
131 + WP_CLI::success($cnt . ' themes have been deleted.');
124 132 break;
125 - case 'plugins':
126 - WP_CLI::confirm( 'Are you sure you want to delete all plugins?', $assoc_args );
127 - $cnt = $wp_reset->do_delete_plugins( true, false );
128 - WP_CLI::success( $cnt . ' plugins have been deleted.' );
133 + case 'plugins':
134 + WP_CLI::confirm('Are you sure you want to delete all plugins?', $assoc_args);
135 + $cnt = $wp_reset->do_delete_plugins(true, false);
136 + WP_CLI::success($cnt . ' plugins have been deleted.');
129 137 break;
130 - case 'transients':
131 - WP_CLI::confirm( 'Are you sure you want to delete all transients?', $assoc_args );
132 - $cnt = $wp_reset->do_delete_transients();
133 - WP_CLI::success( $cnt . ' transient database entries have been deleted.' );
138 + case 'transients':
139 + WP_CLI::confirm('Are you sure you want to delete all transients?', $assoc_args);
140 + $cnt = $wp_reset->do_delete_transients();
141 + WP_CLI::success($cnt . ' transient database entries have been deleted.');
134 142 break;
135 - case 'uploads':
136 - WP_CLI::confirm( 'Are you sure you want to delete all files & folders in /uploads/ folder?', $assoc_args );
137 - $cnt = $wp_reset->do_delete_uploads();
138 - WP_CLI::success( $cnt . ' files & folders have been deleted.' );
143 + case 'uploads':
144 + WP_CLI::confirm('Are you sure you want to delete all files & folders in /uploads/ folder?', $assoc_args);
145 + $cnt = $wp_reset->do_delete_uploads();
146 + WP_CLI::success($cnt . ' files & folders have been deleted.');
139 147 break;
140 - case 'custom-tables':
141 - if ( !empty( $assoc_args['empty'] ) ) {
142 - WP_CLI::confirm( 'Are you sure you want to empty (truncate) all custom tables (prefix: ' . $wpdb->prefix . ')?', $assoc_args );
143 - $cnt = $wp_reset->do_truncate_custom_tables();
144 - WP_CLI::success( $cnt . ' custom tables have been emptied.' );
145 - } else {
146 - WP_CLI::confirm( 'Are you sure you want to delete (drop) all custom tables (prefix: ' . $wpdb->prefix . ')?', $assoc_args );
147 - $cnt = $wp_reset->do_drop_custom_tables();
148 - WP_CLI::success( $cnt . ' custom tables have been deleted.' );
149 - }
148 + case 'custom-tables':
149 + if (!empty($assoc_args['empty'])) {
150 + WP_CLI::confirm('Are you sure you want to empty (truncate) all custom tables (prefix: ' . $wpdb->prefix . ')?', $assoc_args);
151 + $cnt = $wp_reset->do_truncate_custom_tables();
152 + WP_CLI::success($cnt . ' custom tables have been emptied.');
153 + } else {
154 + WP_CLI::confirm('Are you sure you want to delete (drop) all custom tables (prefix: ' . $wpdb->prefix . ')?', $assoc_args);
155 + $cnt = $wp_reset->do_drop_custom_tables();
156 + WP_CLI::success($cnt . ' custom tables have been deleted.');
157 + }
150 158 break;
151 - default:
152 - // should never come to this but can't hurt
153 - WP_CLI::error( 'Unknown subcommand. Please choose from: plugins, themes, transients, uploads or custom-tables.' );
154 - return;
155 - }
156 - } // delete
159 + case 'htaccess':
160 + WP_CLI::confirm('Are you sure you want to delete the .htaccess file?', $assoc_args);
161 + $tmp = $wp_reset->do_delete_htaccess();
162 + if (!is_wp_error($tmp)) {
163 + WP_CLI::success('Htaccess file has been deleted.');
164 + } else {
165 + WP_CLI::error('Htaccess file has not been deleted. ' . $tmp->get_error_message());
166 + }
167 + break;
168 + case 'theme-options':
169 + WP_CLI::confirm('Are you sure you want to reset all options (mods) for all themes?', $assoc_args);
170 + $cnt = $wp_reset->do_reset_theme_options();
171 + WP_CLI::success('Options for ' . $cnt . ' themes have been reset.');
172 + break;
173 + default:
174 + // should never come to this but can't hurt
175 + WP_CLI::error('Unknown subcommand. Please choose from: plugins, themes, transients, uploads, htaccess, custom-tables or theme-options.');
176 + return;
177 + }
178 + } // delete
157 179
158 180
159 - /**
160 - * List and manipulate DB snapshots.
161 - *
162 - * ## OPTIONS
163 - *
164 - * <list|create|restore|export|delete>
165 - * : Action to perform with snapshot.
166 - *
167 - * [--yes]
168 - * : Answer yes to the confirmation message.
169 - *
170 - * [--id=<snapshot-id>]
171 - * : Specify snapshot ID when doing restore, export and delete.
172 - *
173 - * [--name=<snapshot-name>]
174 - * : When creating a new snapshot specify an optional name.
175 - *
176 - * ## EXAMPLES
177 - *
178 - * wp reset snapshots create --yes
179 - * Success: New snapshot with ID 089bea has been created.
180 - *
181 - * $ wp reset snapshots delete --id=123456
182 - * Success: Snapshot has been deleted.
183 - *
184 - * $ wp reset snapshots export --id=123456
185 - * Success: Snapshot has been exported and saved to: https://test.site/wp-content/wp-reset-snapshots-export/wp-reset-snapshot-123456.sql.gz
186 - *
187 - * @when after_wp_load
188 - */
189 - function snapshots( $args, $assoc_args ) {
190 - global $wp_reset;
181 + /**
182 + * List and manipulate DB snapshots.
183 + *
184 + * ## OPTIONS
185 + *
186 + * <list|create|restore|export|delete>
187 + * : Action to perform with snapshot.
188 + *
189 + * [--yes]
190 + * : Answer yes to the confirmation message.
191 + *
192 + * [--id=<snapshot-id>]
193 + * : Specify snapshot ID when doing restore, export and delete.
194 + *
195 + * [--name=<snapshot-name>]
196 + * : When creating a new snapshot specify an optional name.
197 + *
198 + * ## EXAMPLES
199 + *
200 + * wp reset snapshots create --yes
201 + * Success: New snapshot with ID 089bea has been created.
202 + *
203 + * $ wp reset snapshots delete --id=123456
204 + * Success: Snapshot has been deleted.
205 + *
206 + * $ wp reset snapshots export --id=123456
207 + * Success: Snapshot has been exported and saved to: https://test.site/wp-content/wp-reset-snapshots-export/wp-reset-snapshot-123456.sql.gz
208 + *
209 + * @when after_wp_load
210 + */
211 + function snapshots($args, $assoc_args)
212 + {
213 + global $wp_reset;
191 214
192 - if ( empty( $args[0] ) ) {
193 - WP_CLI::error( 'Please choose a subcommand: list, create, restore, export or delete.' );
194 - return;
195 - } elseif ( false == in_array( $args[0], array( 'list', 'create', 'restore', 'export', 'delete' ) ) ) {
196 - WP_CLI::error( 'Unknown subcommand. Please choose from: list, create, restore, export or delete.' );
197 - } else {
198 - $subcommand = $args[0];
199 - }
215 + if (empty($args[0])) {
216 + WP_CLI::error('Please choose a subcommand: list, create, restore, export or delete.');
217 + return;
218 + } elseif (false == in_array($args[0], array('list', 'create', 'restore', 'export', 'delete'))) {
219 + WP_CLI::error('Unknown subcommand. Please choose from: list, create, restore, export or delete.');
220 + } else {
221 + $subcommand = $args[0];
222 + }
200 223
201 - switch ($subcommand) {
202 - case 'list':
203 - if ( $snapshots = $wp_reset->get_snapshots() ) {
204 - $table = array();
205 - foreach ( $snapshots as $ss ) {
206 - $tmp = array();
207 - $tmp['id'] = $ss['uid'];
208 - if ( !empty( $ss['name'] ) ) {
209 - $tmp['name'] = $ss['name'];
210 - } else {
211 - $tmp['name'] = 'n/a';
212 - }
213 - $tmp['created'] = date( get_option( 'date_format' ), strtotime( $ss['timestamp'] ) ) . ' @ ' . date( get_option( 'time_format' ), strtotime( $ss['timestamp'] ) );
214 - $tmp['info'] = $ss['tbl_core'] . ' standard & ';
215 - if ( $ss['tbl_custom'] ) {
216 - $tmp['info'] .= $ss['tbl_custom'] . ' custom table' . ( $ss['tbl_custom'] == 1? '': 's' );
217 - } else {
218 - $tmp['info'] .= 'no custom tables';
219 - }
220 - $tmp['info'] .= ' totaling ' . $wp_reset->format_size( $ss['tbl_size'] ) . ' in ' . number_format( $ss['tbl_rows'] ) . ' rows';
224 + switch ($subcommand) {
225 + case 'list':
226 + if ($snapshots = $wp_reset->get_snapshots()) {
227 + $table = array();
228 + foreach ($snapshots as $ss) {
229 + $tmp = array();
230 + $tmp['id'] = $ss['uid'];
231 + if (!empty($ss['name'])) {
232 + $tmp['name'] = $ss['name'];
233 + } else {
234 + $tmp['name'] = 'n/a';
235 + }
236 + $tmp['created'] = gmdate(get_option('date_format'), strtotime($ss['timestamp'])) . ' @ ' . gmdate(get_option('time_format'), strtotime($ss['timestamp']));
237 + $tmp['info'] = $ss['tbl_core'] . ' standard & ';
238 + if ($ss['tbl_custom']) {
239 + $tmp['info'] .= $ss['tbl_custom'] . ' custom table' . ($ss['tbl_custom'] == 1 ? '' : 's');
240 + } else {
241 + $tmp['info'] .= 'no custom tables';
242 + }
243 + $tmp['info'] .= ' totaling ' . WP_Reset_Utility::format_size($ss['tbl_size']) . ' in ' . number_format($ss['tbl_rows']) . ' rows';
221 244
222 - $table[] = $tmp;
223 - } // foreach
224 - WP_CLI\Utils\format_items( 'table', $table, array('id', 'name', 'created', 'info') );
225 - } else {
226 - WP_CLI::line( 'There are no saved snapshots.' );
227 - }
245 + $table[] = $tmp;
246 + } // foreach
247 + WP_CLI\Utils\format_items('table', $table, array('id', 'name', 'created', 'info'));
248 + } else {
249 + WP_CLI::line('There are no saved snapshots.');
250 + }
228 251 break;
229 - case 'create':
230 - if ( !empty( $assoc_args['name'] ) ) {
231 - $name = trim( $assoc_args['name'] );
232 - } else {
233 - $name = '';
234 - }
252 + case 'create':
253 + if (!empty($assoc_args['name'])) {
254 + $name = trim($assoc_args['name']);
255 + } else {
256 + $name = '';
257 + }
235 258
236 - WP_CLI::confirm( 'Are you sure you want to create a new snapshot?', $assoc_args );
237 - $new = $wp_reset->do_create_snapshot( $name );
238 - if ( is_wp_error( $new ) ) {
239 - WP_CLI::error( $new->get_error_message() );
240 - } else {
241 - WP_CLI::success( 'New snapshot with ID ' . $new['uid'] . ' has been created.' );
242 - }
259 + WP_CLI::confirm('Are you sure you want to create a new snapshot?', $assoc_args);
260 + $new = $wp_reset->do_create_snapshot($name);
261 + if (is_wp_error($new)) {
262 + WP_CLI::error($new->get_error_message());
263 + } else {
264 + WP_CLI::success('New snapshot with ID ' . $new['uid'] . ' has been created.');
265 + }
243 266 break;
244 - case 'restore':
245 - if ( empty( $assoc_args['id'] ) ) {
246 - WP_CLI::error( 'Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.' );
247 - break;
267 + case 'restore':
268 + if (empty($assoc_args['id'])) {
269 + WP_CLI::error('Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.');
270 + break;
271 + } else {
272 + WP_CLI::confirm('Are you sure you want to restore the site to the snapshot with ID ' . $assoc_args['id'] . '?', $assoc_args);
273 + $restore = $wp_reset->do_restore_snapshot($assoc_args['id']);
274 + if (is_wp_error($restore)) {
275 + WP_CLI::error($restore->get_error_message());
248 276 } else {
249 - WP_CLI::confirm( 'Are you sure you want to restore the site to the snapshot with ID ' . $assoc_args['id'] . '?', $assoc_args );
250 - $restore = $wp_reset->do_restore_snapshot( $assoc_args['id'] );
251 - if ( is_wp_error( $restore ) ) {
252 - WP_CLI::error( $restore->get_error_message() );
253 - } else {
254 - WP_CLI::success( 'Site has been restored to the selected snapshot.' );
255 - }
277 + WP_CLI::success('Site has been restored to the selected snapshot.');
256 278 }
279 + }
257 280 break;
258 - case 'export':
259 - if ( empty( $assoc_args['id'] ) ) {
260 - WP_CLI::error( 'Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.' );
261 - break;
281 + case 'export':
282 + if (empty($assoc_args['id'])) {
283 + WP_CLI::error('Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.');
284 + break;
285 + } else {
286 + $export = $wp_reset->do_export_snapshot($assoc_args['id']);
287 + if (is_wp_error($export)) {
288 + WP_CLI::error($export->get_error_message());
262 289 } else {
263 - $export = $wp_reset->do_export_snapshot( $assoc_args['id'] );
264 - if ( is_wp_error( $export ) ) {
265 - WP_CLI::error( $export->get_error_message() );
266 - } else {
267 - $url = content_url() . '/' . $wp_reset->snapshots_folder . '/' . $export;
268 - WP_CLI::success( 'Snapshot has been exported and saved to: ' . $url );
269 - }
290 + $url = content_url() . '/' . $wp_reset->snapshots_folder . '/' . $export;
291 + WP_CLI::success('Snapshot has been exported and saved to: ' . $url);
270 292 }
293 + }
271 294 break;
272 - case 'delete':
273 - if ( empty( $assoc_args['id'] ) ) {
274 - WP_CLI::error( 'Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.' );
275 - break;
295 + case 'delete':
296 + if (empty($assoc_args['id'])) {
297 + WP_CLI::error('Please specify the snapshot ID with the "--id=123456" param. Use "wp reset snapshots list" to get a list of all snapshots.');
298 + break;
299 + } else {
300 + WP_CLI::confirm('Are you sure you want to delete the snapshot with ID ' . $assoc_args['id'] . '?', $assoc_args);
301 + $del = $wp_reset->do_delete_snapshot($assoc_args['id']);
302 + if (is_wp_error($del)) {
303 + WP_CLI::error($del->get_error_message());
276 304 } else {
277 - WP_CLI::confirm( 'Are you sure you want to delete the snapshot with ID ' . $assoc_args['id'] . '?', $assoc_args );
278 - $del = $wp_reset->do_delete_snapshot( $assoc_args['id'] );
279 - if ( is_wp_error( $del ) ) {
280 - WP_CLI::error( $del->get_error_message() );
281 - } else {
282 - WP_CLI::success( 'Snapshot has been deleted.' );
283 - }
305 + WP_CLI::success('Snapshot has been deleted.');
284 306 }
307 + }
285 308 break;
286 - default:
287 - // it should never come to this but can't hurt
288 - WP_CLI::error( 'Unknown subcommand. Please choose from: list, create, restore, export or delete.' );
289 - return;
290 - }
291 - } // snapshots
309 + default:
310 + // it should never come to this but can't hurt
311 + WP_CLI::error('Unknown subcommand. Please choose from: list, create, restore, export or delete.');
312 + return;
313 + }
314 + } // snapshots
315 +
316 +
317 + /**
318 + * This command is no longer available. Please use "wp reset snapshots create" instead.
319 + */
320 + function backups($args, $assoc_args)
321 + {
322 + WP_CLI::error('This command is no longer available. Please use: wp reset snapshots create');
323 + } // backups
292 324 } // WP_Reset_CLI
293 325
294 -WP_CLI::add_command( 'reset', 'WP_Reset_CLI' );
326 +WP_CLI::add_command('reset', 'WP_Reset_CLI');