From 53a823ab4b9fb90ad0db0d762db2c0ed02d21bad Mon Sep 17 00:00:00 2001 From: Taylor Lovett Date: Wed, 24 Apr 2013 04:46:17 +0000 Subject: [PATCH] Moving empty blog subcommand to blog command --- php/commands/core.php | 81 --------------------------------------------------- 1 file changed, 81 deletions(-) diff --git a/php/commands/core.php b/php/commands/core.php index 9feeaa9e..3e65fccf 100644 --- a/php/commands/core.php +++ b/php/commands/core.php @@ -62,87 +62,6 @@ class Core_Command extends WP_CLI_Command { } /** - * Empty a blog - * - * @synopsis [--post_type=] [--keep_terms] [--keep_comments] - */ - public function empty_blog( $args, $assoc_args ) { - - $assoc_args = wp_parse_args( $assoc_args, array( - 'post_type' => 'all', - 'keep_terms' => 0, - 'keep_comments' => 0, - ) ); - - WP_CLI::confirm( 'Are you sure you want to empty the blog at ' . site_url() . '?', $assoc_args ); - - global $wpdb; - - // Empty posts and post cache - $posts_query = "SELECT ID FROM $wpdb->posts"; - if ( 'all' != $assoc_args['post_type'] ) - $posts_query .= " WHERE post_type='$assoc_args[post_type]'"; - - $taxonomies = get_taxonomies(); - $posts = new WP_CLI\Iterators\Query( $posts_query, 10000 ); - - while ( $posts->valid() ) { - $post_id = $posts->current()->ID; - - wp_cache_delete( $post_id, 'posts' ); - wp_cache_delete( $post_id, 'post_meta' ); - foreach ( $taxonomies as $taxonomy ) - wp_cache_delete( $post_id, "{$taxonomy}_relationships" ); - wp_cache_delete( $wpdb->blogid . '-' . $post_id, 'global-posts' ); - - $posts->next(); - } - $wpdb->query( "TRUNCATE $wpdb->posts" ); - - if ( 'all' == $assoc_args['post_type'] ) - $wpdb->query( "TRUNCATE $wpdb->postmeta" ); - - - // Empty comments and comment cache - if ( 0 == $assoc_args['keep_comments'] ) { - $comment_ids = $wpdb->get_col( "SELECT comment_ID FROM $wpdb->comments" ); - foreach ( $comment_ids as $comment_id ) { - wp_cache_delete( $comment_id, 'comment' ); - wp_cache_delete( $comment_id, 'comment_meta' ); - } - $wpdb->query( "TRUNCATE $wpdb->comments" ); - $wpdb->query( "TRUNCATE $wpdb->commentmeta" ); - } - - // Empty taxonomies and terms - if ( 0 == $assoc_args['keep_terms'] ) { - $terms = $wpdb->get_results( "SELECT term_id, taxonomy FROM $wpdb->term_taxonomy" ); - $ids = array(); - foreach ( (array) $terms as $term ) { - $taxonomies[] = $term->taxonomy; - $ids[] = $term->term_id; - wp_cache_delete( $term->term_id, $term->taxonomy ); - } - - $taxonomies = array_unique( $taxonomies ); - foreach ( $taxonomies as $taxonomy ) { - if ( isset( $cleaned[$taxonomy] ) ) - continue; - $cleaned[$taxonomy] = true; - - wp_cache_delete( 'all_ids', $taxonomy ); - wp_cache_delete( 'get', $taxonomy ); - delete_option( "{$taxonomy}_children" ); - } - $wpdb->query( "TRUNCATE $wpdb->terms" ); - $wpdb->query( "TRUNCATE $wpdb->term_taxonomy" ); - $wpdb->query( "TRUNCATE $wpdb->term_relationships" ); - } - - WP_CLI::success( 'The blog at ' . site_url() . ' was emptied.' ); - } - - /** * Determine if the WordPress tables are installed. * * @subcommand is-installed -- 2.11.0