diff --git a/assets/css/wp-bulk-delete-admin.css b/assets/css/wp-bulk-delete-admin.css index 7c55b72..06e3bfd 100644 --- a/assets/css/wp-bulk-delete-admin.css +++ b/assets/css/wp-bulk-delete-admin.css @@ -1259,7 +1259,7 @@ html:not([data-scroll="0"]) .wpbd-header { } .wpbd-card>.header svg.wpbd-caret.rotated { - transform: rotate(90deg) + transform: rotate(360deg) } .wpbd-card>.header svg.wpbd-close { @@ -1634,3 +1634,9 @@ html:not([data-scroll="0"]) .wpbd-header { color: #424242 !important; font-family: unset !important; } + +.cleanups_section{ + display: flex; + flex-direction: row; + align-items: center; +} \ No newline at end of file diff --git a/includes/class-delete-api.php b/includes/class-delete-api.php index b72b6d4..be88d08 100644 --- a/includes/class-delete-api.php +++ b/includes/class-delete-api.php @@ -295,88 +295,10 @@ public function get_post_count( $counttype = '' ) { case 'trash': $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(ID) FROM $wpdb->posts WHERE post_status = %s", 'trash' ) ); break; - case 'orphan_postmeta': - $count = $wpdb->get_var( "SELECT COUNT(meta_id) FROM $wpdb->postmeta WHERE post_id NOT IN (SELECT ID FROM $wpdb->posts)" ); - break; - case 'orphan_commentmeta': - $count = $wpdb->get_var( "SELECT COUNT(meta_id) FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM $wpdb->comments)" ); - break; - case 'orphan_usermeta': - $count = $wpdb->get_var( "SELECT COUNT(umeta_id) FROM $wpdb->usermeta WHERE user_id NOT IN (SELECT ID FROM $wpdb->users)" ); - break; - case 'orphan_termmeta': - $count = $wpdb->get_var( "SELECT COUNT(meta_id) FROM $wpdb->termmeta WHERE term_id NOT IN (SELECT term_id FROM $wpdb->terms)" ); - break; - - case 'duplicated_postmeta': - $query = $wpdb->get_col( $wpdb->prepare( "SELECT COUNT(meta_id) AS count FROM $wpdb->postmeta GROUP BY post_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( is_array( $query ) ) { - $count = array_sum( array_map( 'intval', $query ) ); - } - break; - case 'duplicated_commentmeta': - $query = $wpdb->get_col( $wpdb->prepare( "SELECT COUNT(meta_id) AS count FROM $wpdb->commentmeta GROUP BY comment_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( is_array( $query ) ) { - $count = array_sum( array_map( 'intval', $query ) ); - } - break; - case 'duplicated_usermeta': - $query = $wpdb->get_col( $wpdb->prepare( "SELECT COUNT(umeta_id) AS count FROM $wpdb->usermeta GROUP BY user_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( is_array( $query ) ) { - $count = array_sum( array_map( 'intval', $query ) ); - } - break; - case 'duplicated_termmeta': - $query = $wpdb->get_col( $wpdb->prepare( "SELECT COUNT(meta_id) AS count FROM $wpdb->termmeta GROUP BY term_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( is_array( $query ) ) { - $count = array_sum( array_map( 'intval', $query ) ); - } - break; - - } - return $count; - } - - /** - * Get Comment Count by status - * - * @access public - * @since 1.0 - * @param array $status status - * @return int | posts count. - */ - public function get_comment_count( $status = '' ) { - global $wpdb; - - $count = 0; - - switch( $status ) { - - case 'pending': - $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = %s", '0' ) ); - break; - - case 'spam': - $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = %s", 'spam' ) ); - break; - - case 'trash': - $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE (comment_approved = %s OR comment_approved = %s)", 'trash', 'post-trashed' ) ); - break; - - case 'approved': - $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = %s", '1' ) ); - break; - - default: - $count = 0; - break; } - return $count; } - /** * Run Cleanup * @@ -421,10 +343,12 @@ public function run_cleanup( $cleanuptype = '' ){ } break; - case 'orphan_postmeta': - $query = $wpdb->get_results( "SELECT post_id, meta_key FROM $wpdb->postmeta WHERE post_id NOT IN (SELECT ID FROM $wpdb->posts)" ); - if( $query ) { - foreach ( $query as $meta ) { + //Delete all orphan and duplicate + case 'all_orphan_duplicate': + $dp = $ocm = $oum = $otm = $dpm = $dcm = $dum = $dtm = 0; + $query1 = $wpdb->get_results( "SELECT post_id, meta_key FROM $wpdb->postmeta WHERE post_id NOT IN (SELECT ID FROM $wpdb->posts)" ); + if( $query1 ) { + foreach ( $query1 as $meta ) { $post_id = intval( $meta->post_id ); if( $post_id === 0 ) { $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = %s", $post_id, $meta->meta_key ) ); @@ -432,14 +356,13 @@ public function run_cleanup( $cleanuptype = '' ){ delete_post_meta( $post_id, $meta->meta_key ); } } - - $message = sprintf( __( '%s Orphaned Post Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $dp = number_format_i18n( sizeof( $query1 ) ); } - break; - case 'orphan_commentmeta': - $query = $wpdb->get_results( "SELECT comment_id, meta_key FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM $wpdb->comments)" ); - if( $query ) { - foreach ( $query as $meta ) { + + //Orphan Comment Meta + $query2 = $wpdb->get_results( "SELECT comment_id, meta_key FROM $wpdb->commentmeta WHERE comment_id NOT IN (SELECT comment_ID FROM $wpdb->comments)" ); + if( $query2 ) { + foreach ( $query2 as $meta ) { $comment_id = intval( $meta->comment_id ); if( $comment_id === 0 ) { $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->commentmeta WHERE comment_id = %d AND meta_key = %s", $comment_id, $meta->meta_key ) ); @@ -447,14 +370,13 @@ public function run_cleanup( $cleanuptype = '' ){ delete_comment_meta( $comment_id, $meta->meta_key ); } } - - $message = sprintf( __( '%s Orphaned Comment Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $ocm = number_format_i18n( sizeof( $query2 ) ); } - break; - case 'orphan_usermeta': - $query = $wpdb->get_results( "SELECT user_id, meta_key FROM $wpdb->usermeta WHERE user_id NOT IN (SELECT ID FROM $wpdb->users)" ); - if( $query ) { - foreach ( $query as $meta ) { + + //Orphan User Meta + $query3 = $wpdb->get_results( "SELECT user_id, meta_key FROM $wpdb->usermeta WHERE user_id NOT IN (SELECT ID FROM $wpdb->users)" ); + if( $query3 ) { + foreach ( $query3 as $meta ) { $user_id = intval( $meta->user_id ); if( $user_id === 0 ) { $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta->meta_key ) ); @@ -462,14 +384,13 @@ public function run_cleanup( $cleanuptype = '' ){ delete_user_meta( $user_id, $meta->meta_key ); } } - - $message = sprintf( __( '%s Orphaned User Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $oum = number_format_i18n( sizeof( $query3 ) ); } - break; - case 'orphan_termmeta': - $query = $wpdb->get_results( "SELECT term_id, meta_key FROM $wpdb->termmeta WHERE term_id NOT IN (SELECT term_id FROM $wpdb->terms)" ); - if( $query ) { - foreach ( $query as $meta ) { + + //Orphan Term Meta + $query4 = $wpdb->get_results( "SELECT term_id, meta_key FROM $wpdb->termmeta WHERE term_id NOT IN (SELECT term_id FROM $wpdb->terms)" ); + if( $query4 ) { + foreach ( $query4 as $meta ) { $term_id = intval( $meta->term_id ); if( $term_id === 0 ) { $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->termmeta WHERE term_id = %d AND meta_key = %s", $term_id, $meta->meta_key ) ); @@ -477,58 +398,54 @@ public function run_cleanup( $cleanuptype = '' ){ delete_term_meta( $term_id, $meta->meta_key ); } } - - $message = sprintf( __( '%s Orphaned Term Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $otm = number_format_i18n( sizeof( $query4 ) ); } - break; - - case 'duplicated_postmeta': - $query = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, post_id, COUNT(*) AS count FROM $wpdb->postmeta GROUP BY post_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( $query ) { - foreach ( $query as $meta ) { + + //Duplicate Post Meta + $query5 = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, post_id, COUNT(*) AS count FROM $wpdb->postmeta GROUP BY post_id, meta_key, meta_value HAVING count > %d", 1 ) ); + if( $query5 ) { + foreach ( $query5 as $meta ) { $ids = array_map( 'intval', explode( ',', $meta->ids ) ); array_pop( $ids ); $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->postmeta WHERE meta_id IN (" . implode( ',', $ids ) . ") AND post_id = %d", intval( $meta->post_id ) ) ); } - - $message = sprintf( __( '%s Duplicated Post Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $dpm = number_format_i18n( sizeof( $query5 ) ); } - break; - case 'duplicated_commentmeta': - $query = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, comment_id, COUNT(*) AS count FROM $wpdb->commentmeta GROUP BY comment_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( $query ) { - foreach ( $query as $meta ) { + + //Duplicate Comment Meta + $query6 = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, comment_id, COUNT(*) AS count FROM $wpdb->commentmeta GROUP BY comment_id, meta_key, meta_value HAVING count > %d", 1 ) ); + if( $query6 ) { + foreach ( $query6 as $meta ) { $ids = array_map( 'intval', explode( ',', $meta->ids ) ); array_pop( $ids ); $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->commentmeta WHERE meta_id IN (" . implode( ',', $ids ) . ") AND comment_id = %d", intval( $meta->comment_id ) ) ); } - - $message = sprintf( __( '%s Duplicated Comment Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $dcm = number_format_i18n( sizeof( $query6 ) ); } - break; - case 'duplicated_usermeta': - $query = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(umeta_id ORDER BY umeta_id DESC) AS ids, user_id, COUNT(*) AS count FROM $wpdb->usermeta GROUP BY user_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( $query ) { - foreach ( $query as $meta ) { + + //Duplicate user Meta + $query7 = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(umeta_id ORDER BY umeta_id DESC) AS ids, user_id, COUNT(*) AS count FROM $wpdb->usermeta GROUP BY user_id, meta_key, meta_value HAVING count > %d", 1 ) ); + if( $query7 ) { + foreach ( $query7 as $meta ) { $ids = array_map( 'intval', explode( ',', $meta->ids ) ); array_pop( $ids ); $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE umeta_id IN (" . implode( ',', $ids ) . ") AND user_id = %d", intval( $meta->user_id ) ) ); } - - $message = sprintf( __( '%s Duplicated User Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $dum = number_format_i18n( sizeof( $query7 ) ); } - break; - case 'duplicated_termmeta': - $query = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, term_id, COUNT(*) AS count FROM $wpdb->termmeta GROUP BY term_id, meta_key, meta_value HAVING count > %d", 1 ) ); - if( $query ) { - foreach ( $query as $meta ) { + + //Duplicate term Meta + $query8 = $wpdb->get_results( $wpdb->prepare( "SELECT GROUP_CONCAT(meta_id ORDER BY meta_id DESC) AS ids, term_id, COUNT(*) AS count FROM $wpdb->termmeta GROUP BY term_id, meta_key, meta_value HAVING count > %d", 1 ) ); + if( $query8 ) { + foreach ( $query8 as $meta ) { $ids = array_map( 'intval', explode( ',', $meta->ids ) ); array_pop( $ids ); $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->termmeta WHERE meta_id IN (" . implode( ',', $ids ) . ") AND term_id = %d", intval( $meta->term_id ) ) ); } - - $message = sprintf( __( '%s Duplicated Term Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( sizeof( $query ) ) ); + $dtm = number_format_i18n( sizeof( $query7 ) ); } + $odsum = $dp + $ocm + $oum + $otm + $dpm + $dcm + $dum + $dtm; + $message = sprintf( __( '%s Orphan and Duplicate Meta Cleaned up', 'wp-bulk-delete' ), number_format_i18n( $odsum ) ); break; } @@ -814,7 +731,7 @@ public function get_delete_comment_count( $data = array() ){ foreach ( $delete_comment_status as $comment_status ) { switch( $comment_status ) { - case 'pending': + case 'moderated': $temp_delete_query[] = "comment_approved = '0'"; break; @@ -896,7 +813,7 @@ public function do_delete_comments( $data = array() ) { foreach ( $delete_comment_status as $comment_status ) { switch( $comment_status ) { - case 'pending': + case 'moderated': $temp_delete_query[] = "comment_approved = '0'"; break; diff --git a/includes/common-functions.php b/includes/common-functions.php index 74dd3c1..169dac1 100644 --- a/includes/common-functions.php +++ b/includes/common-functions.php @@ -185,15 +185,21 @@ function wpbd_get_wc_order_count(){ global $wpdb; //Get WC order type with count $results = array(); - $query = "SELECT COUNT(`id`) as `count`, `type`, REPLACE(`type`, 'shop_', '') as `type_name` FROM `{$wpdb->prefix}wc_orders` WHERE `type` = 'shop_order' "; - $results = $wpdb->get_results($query); - $results = (array)reset($results); - - if( isset( $results['type_name'] ) && !empty( $results['type_name'] ) ){ - $results['type_name'] = ucfirst( $results['type_name'] ). ''; + $table_name = $wpdb->prefix . 'wc_orders'; + $table_exists = $wpdb->get_var("SHOW TABLES LIKE '{$table_name}'"); + + if ( $table_exists ) { + $query = "SELECT COUNT(`id`) as `count`, `type`, REPLACE(`type`, 'shop_', '') as `type_name` FROM `{$wpdb->prefix}wc_orders` WHERE `type` = 'shop_order' "; + $results = $wpdb->get_results($query); + $results = (array)reset($results); + + if( isset( $results['type_name'] ) && !empty( $results['type_name'] ) ){ + $results['type_name'] = ucfirst( $results['type_name'] ). ''; + } + return $results; + }else{ + return $results; } - - return $results; } /** @@ -402,4 +408,19 @@ function check_wc_is_activated() { }else{ return '
WooCommerce Not Installed
'; } +} + +/** + * Get WP Post Status + * + * @since 1.3.1 + * @return array + */ +function get_wp_post_status(){ + + $get_post_status = get_post_stati(); + $get_post_status = array_filter( $get_post_status, function($key) { return strpos( $key, 'wc-' ) !== 0 && strpos( $key, 'request-' ) !== 0; }, ARRAY_FILTER_USE_KEY ); + $wpbd_post_status = array_diff_key( $get_post_status, array_flip( ['inherit', 'auto-draft'] ) ); + + return $wpbd_post_status; } \ No newline at end of file diff --git a/includes/delele-comments-form-functions.php b/includes/delele-comments-form-functions.php index 29848a6..0d73117 100644 --- a/includes/delele-comments-form-functions.php +++ b/includes/delele-comments-form-functions.php @@ -85,7 +85,7 @@ function xt_delete_comments_form_process( $data ) { */ function wpdb_render_delete_comments_status(){ $comment_status = array( - 'pending' => __( 'Pending Comments', 'wp-bulk-delete'), + 'moderated' => __( 'Pending Comments', 'wp-bulk-delete'), 'spam' => __( 'Spam Comments', 'wp-bulk-delete'), 'trash' => __( 'Trash Comments', 'wp-bulk-delete'), 'approved' => __( 'Approved Comments', 'wp-bulk-delete'), @@ -126,13 +126,16 @@ function wpdb_render_delete_comments_status(){
$comment_status_name ) { ?>
- api->get_comment_count( $comment_status_value ) ); ?> + $comment_status_value ); ?>
+ xmlns="http://www.w3.org/2000/svg" class="wpbd-caret"> diff --git a/includes/delele-meta-form-functions.php b/includes/delele-meta-form-functions.php index ccffbe1..33ea35c 100644 --- a/includes/delele-meta-form-functions.php +++ b/includes/delele-meta-form-functions.php @@ -18,15 +18,6 @@ * @return void */ function wpbd_render_meta_cleanup(){ - // Counts - $orphan_postmeta_count = wpbulkdelete()->api->get_post_count('orphan_postmeta'); - $duplicated_postmeta_count = wpbulkdelete()->api->get_post_count('duplicated_postmeta'); - $orphan_commentmeta_count = wpbulkdelete()->api->get_post_count('orphan_commentmeta'); - $duplicated_commentmeta_count = wpbulkdelete()->api->get_post_count('duplicated_commentmeta'); - $orphan_usermeta_count = wpbulkdelete()->api->get_post_count('orphan_usermeta'); - $duplicated_usermeta_count = wpbulkdelete()->api->get_post_count('duplicated_usermeta'); - $orphan_termmeta_count = wpbulkdelete()->api->get_post_count('orphan_termmeta'); - $duplicated_termmeta_count = wpbulkdelete()->api->get_post_count('duplicated_termmeta'); ?> @@ -34,64 +25,26 @@ function wpbd_render_meta_cleanup(){
- +
-
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
+
+ + + +
+ + + + + Orphan post meta,
Duplicate post meta,
Orphan comment meta,
Duplicate comment meta,
Orphan user meta,
Duplicate user meta,
Orphan term meta,
Duplicate term meta
.','wp-bulk-delete'); ?> +
+
+
+
+
diff --git a/includes/delele-posts-form-functions.php b/includes/delele-posts-form-functions.php index 2b79f35..2e486d6 100644 --- a/includes/delele-posts-form-functions.php +++ b/includes/delele-posts-form-functions.php @@ -293,6 +293,9 @@ function wpbd_render_extra_assinged_category(){ */ function wpbd_render_form_poststatus(){ global $wpdb; + //Get Post Status + $get_post_status = get_wp_post_status(); + ?>
@@ -300,12 +303,12 @@ function wpbd_render_form_poststatus(){
@@ -697,12 +700,12 @@ function wpbd_render_post_cleanup(){
-
+
-
+
@@ -715,26 +718,26 @@ function wpbd_render_post_cleanup(){
-
+
-
+
-
+
-
+ -
+
-
+ diff --git a/languages/wp-bulk-delete.pot b/languages/wp-bulk-delete.pot index bd6f782..8d43f14 100644 --- a/languages/wp-bulk-delete.pot +++ b/languages/wp-bulk-delete.pot @@ -9,7 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2024-09-03T09:11:31+00:00\n" +"POT-Creation-Date: 2024-09-16T06:14:13+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.11.0\n" "X-Domain: wp-bulk-delete\n" @@ -129,13 +129,13 @@ msgstr "" #: includes/admin/users/display-delete-users.php:103 #: includes/admin/users/display-delete-users.php:147 #: includes/common-functions.php:101 -#: includes/delele-comments-form-functions.php:271 -#: includes/delele-comments-form-functions.php:320 -#: includes/delele-posts-form-functions.php:366 -#: includes/delele-posts-form-functions.php:902 -#: includes/delele-posts-form-functions.php:1005 -#: includes/delele-posts-form-functions.php:1042 -#: includes/delele-posts-form-functions.php:1081 +#: includes/delele-comments-form-functions.php:274 +#: includes/delele-comments-form-functions.php:323 +#: includes/delele-posts-form-functions.php:369 +#: includes/delele-posts-form-functions.php:899 +#: includes/delele-posts-form-functions.php:1002 +#: includes/delele-posts-form-functions.php:1039 +#: includes/delele-posts-form-functions.php:1078 msgid "Available in Pro version." msgstr "" @@ -143,12 +143,12 @@ msgstr "" #: includes/admin/users/display-delete-users.php:103 #: includes/admin/users/display-delete-users.php:147 #: includes/common-functions.php:102 -#: includes/delele-comments-form-functions.php:271 -#: includes/delele-comments-form-functions.php:320 -#: includes/delele-posts-form-functions.php:902 -#: includes/delele-posts-form-functions.php:1005 -#: includes/delele-posts-form-functions.php:1042 -#: includes/delele-posts-form-functions.php:1081 +#: includes/delele-comments-form-functions.php:274 +#: includes/delele-comments-form-functions.php:323 +#: includes/delele-posts-form-functions.php:899 +#: includes/delele-posts-form-functions.php:1002 +#: includes/delele-posts-form-functions.php:1039 +#: includes/delele-posts-form-functions.php:1078 msgid "Buy Now" msgstr "" @@ -234,7 +234,7 @@ msgid "Users Filter " msgstr "" #: includes/admin/users/display-delete-users.php:59 -#: includes/delele-comments-form-functions.php:163 +#: includes/delele-comments-form-functions.php:166 msgid "Date Filter " msgstr "" @@ -242,14 +242,14 @@ msgstr "" msgid "Advance Users Filter " msgstr "" -#: includes/admin/users/display-delete-users.php:121 -#: includes/delele-posts-form-functions.php:872 +#: includes/admin/users/display-delete-users.php:119 +#: includes/delele-posts-form-functions.php:873 msgid "WooCommerce Filter " msgstr "" -#: includes/admin/users/display-delete-users.php:163 -#: includes/delele-comments-form-functions.php:346 -#: includes/delele-posts-form-functions.php:1119 +#: includes/admin/users/display-delete-users.php:157 +#: includes/delele-comments-form-functions.php:349 +#: includes/delele-posts-form-functions.php:1116 msgid "Action " msgstr "" @@ -288,71 +288,43 @@ msgstr "" msgid "Please select required fields for proceed delete operation." msgstr "" -#: includes/class-delete-api.php:400 +#: includes/class-delete-api.php:322 msgid "%s Revisions Cleaned up" msgstr "" -#: includes/class-delete-api.php:410 +#: includes/class-delete-api.php:332 msgid "%s Auto Drafts Cleaned up" msgstr "" -#: includes/class-delete-api.php:420 +#: includes/class-delete-api.php:342 msgid "%s Trashed Posts Cleaned up" msgstr "" -#: includes/class-delete-api.php:436 -msgid "%s Orphaned Post Meta Cleaned up" +#: includes/class-delete-api.php:448 +msgid "%s Orphan and Duplicate Meta Cleaned up" msgstr "" -#: includes/class-delete-api.php:451 -msgid "%s Orphaned Comment Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:466 -msgid "%s Orphaned User Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:481 -msgid "%s Orphaned Term Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:494 -msgid "%s Duplicated Post Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:506 -msgid "%s Duplicated Comment Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:518 -msgid "%s Duplicated User Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:530 -msgid "%s Duplicated Term Meta Cleaned up" -msgstr "" - -#: includes/class-delete-api.php:1391 +#: includes/class-delete-api.php:1308 msgid "WP Event Aggregator" msgstr "" -#: includes/class-delete-api.php:1392 +#: includes/class-delete-api.php:1309 msgid "Import Social Events" msgstr "" -#: includes/class-delete-api.php:1393 +#: includes/class-delete-api.php:1310 msgid "Import Eventbrite Events" msgstr "" -#: includes/class-delete-api.php:1394 +#: includes/class-delete-api.php:1311 msgid "Import Meetup Events" msgstr "" -#: includes/class-delete-api.php:1395 +#: includes/class-delete-api.php:1312 msgid "Event Schema / Structured Data" msgstr "" -#: includes/class-delete-api.php:1396 +#: includes/class-delete-api.php:1313 msgid "WP Smart Import : Import any XML File to WordPress" msgstr "" @@ -437,40 +409,40 @@ msgstr "" msgid "Attention: The server PHP timeout limit is set to " msgstr "" -#: includes/common-functions.php:210 +#: includes/common-functions.php:213 msgid "Scheduled Delete - " msgstr "" -#: includes/common-functions.php:223 -#: includes/common-functions.php:240 +#: includes/common-functions.php:226 +#: includes/common-functions.php:243 msgid "Something went wrong when saving scheduled delete." msgstr "" -#: includes/common-functions.php:250 +#: includes/common-functions.php:253 msgid "Delete scheduled successfully." msgstr "" -#: includes/common-functions.php:255 +#: includes/common-functions.php:258 msgid "Error in scheduled delete." msgstr "" -#: includes/common-functions.php:290 +#: includes/common-functions.php:293 msgid "Made with ♥ by the Xylus Themes" msgstr "" -#: includes/common-functions.php:292 +#: includes/common-functions.php:295 msgid "Support" msgstr "" -#: includes/common-functions.php:294 +#: includes/common-functions.php:297 msgid "Docs" msgstr "" -#: includes/common-functions.php:296 +#: includes/common-functions.php:299 msgid "Free Plugins" msgstr "" -#: includes/common-functions.php:375 +#: includes/common-functions.php:378 msgid "Dashboard" msgstr "" @@ -495,7 +467,7 @@ msgid "Approved Comments" msgstr "" #: includes/delele-comments-form-functions.php:100 -#: includes/delele-posts-form-functions.php:847 +#: includes/delele-posts-form-functions.php:850 msgid "Basic Filter " msgstr "" @@ -507,155 +479,131 @@ msgstr "" msgid "Select the comment statuses that you want to delete." msgstr "" -#: includes/delele-comments-form-functions.php:135 +#: includes/delele-comments-form-functions.php:138 msgid "( %s Comment(s) )" msgstr "" -#: includes/delele-comments-form-functions.php:176 +#: includes/delele-comments-form-functions.php:179 msgid "Comment Date " msgstr "" -#: includes/delele-comments-form-functions.php:180 +#: includes/delele-comments-form-functions.php:183 msgid "Delete Comments which are" msgstr "" -#: includes/delele-comments-form-functions.php:182 -#: includes/delele-posts-form-functions.php:389 -#: includes/delele-posts-form-functions.php:451 +#: includes/delele-comments-form-functions.php:185 +#: includes/delele-posts-form-functions.php:392 +#: includes/delele-posts-form-functions.php:454 #: includes/delele-users-form-functions.php:202 msgid "older than" msgstr "" -#: includes/delele-comments-form-functions.php:183 +#: includes/delele-comments-form-functions.php:186 msgid "submitted within last" msgstr "" -#: includes/delele-comments-form-functions.php:185 -#: includes/delele-posts-form-functions.php:392 +#: includes/delele-comments-form-functions.php:188 +#: includes/delele-posts-form-functions.php:395 #: includes/delele-users-form-functions.php:205 msgid "1 Month" msgstr "" -#: includes/delele-comments-form-functions.php:186 -#: includes/delele-posts-form-functions.php:393 +#: includes/delele-comments-form-functions.php:189 +#: includes/delele-posts-form-functions.php:396 #: includes/delele-users-form-functions.php:206 msgid "6 Months" msgstr "" -#: includes/delele-comments-form-functions.php:187 -#: includes/delele-posts-form-functions.php:394 +#: includes/delele-comments-form-functions.php:190 +#: includes/delele-posts-form-functions.php:397 #: includes/delele-users-form-functions.php:207 msgid "1 Year" msgstr "" -#: includes/delele-comments-form-functions.php:188 -#: includes/delele-posts-form-functions.php:395 +#: includes/delele-comments-form-functions.php:191 +#: includes/delele-posts-form-functions.php:398 #: includes/delele-users-form-functions.php:208 msgid "2 Years" msgstr "" -#: includes/delele-comments-form-functions.php:190 +#: includes/delele-comments-form-functions.php:193 msgid "submitted between custom" msgstr "" -#: includes/delele-comments-form-functions.php:193 -#: includes/delele-posts-form-functions.php:400 -#: includes/delele-posts-form-functions.php:456 +#: includes/delele-comments-form-functions.php:196 +#: includes/delele-posts-form-functions.php:403 +#: includes/delele-posts-form-functions.php:459 #: includes/delele-users-form-functions.php:213 msgid "days" msgstr "" -#: includes/delele-comments-form-functions.php:196 -#: includes/delele-posts-form-functions.php:403 -#: includes/delele-posts-form-functions.php:459 +#: includes/delele-comments-form-functions.php:199 +#: includes/delele-posts-form-functions.php:406 +#: includes/delele-posts-form-functions.php:462 #: includes/delele-users-form-functions.php:216 msgid "Start Date" msgstr "" -#: includes/delele-comments-form-functions.php:198 -#: includes/delele-posts-form-functions.php:405 -#: includes/delele-posts-form-functions.php:461 +#: includes/delele-comments-form-functions.php:201 +#: includes/delele-posts-form-functions.php:408 +#: includes/delele-posts-form-functions.php:464 #: includes/delele-users-form-functions.php:218 msgid "End Date" msgstr "" -#: includes/delele-comments-form-functions.php:205 +#: includes/delele-comments-form-functions.php:208 msgid "Set the date interval for comments to delete ( only delete comments between these dates ) or leave these fields blank to select all comments. The dates must be specified in the following format: YYYY-MM-DD" msgstr "" -#: includes/delele-comments-form-functions.php:219 +#: includes/delele-comments-form-functions.php:222 msgid "This option will work well with Scheduled Delete, which will help to delete comments of the selected option from the scheduled run date." msgstr "" -#: includes/delele-comments-form-functions.php:247 -#: includes/delele-posts-form-functions.php:938 +#: includes/delele-comments-form-functions.php:250 +#: includes/delele-posts-form-functions.php:935 msgid "Author Filter " msgstr "" -#: includes/delele-comments-form-functions.php:296 +#: includes/delele-comments-form-functions.php:299 msgid "Post Filter " msgstr "" -#: includes/delele-comments-form-functions.php:359 -#: includes/delele-posts-form-functions.php:638 +#: includes/delele-comments-form-functions.php:362 +#: includes/delele-posts-form-functions.php:641 #: includes/delele-users-form-functions.php:260 msgid "Limit " msgstr "" -#: includes/delele-comments-form-functions.php:370 +#: includes/delele-comments-form-functions.php:373 msgid "Set the limit over comments delete. It will delete only the first limit comments. This option will help you in case you have lots of comments to delete and script timeout." msgstr "" -#: includes/delele-comments-form-functions.php:395 +#: includes/delele-comments-form-functions.php:398 msgid "Comment Author " msgstr "" -#: includes/delele-comments-form-functions.php:400 +#: includes/delele-comments-form-functions.php:403 msgid "Select author" msgstr "" -#: includes/delele-comments-form-functions.php:415 +#: includes/delele-comments-form-functions.php:418 msgid "Comment Posts " msgstr "" -#: includes/delele-comments-form-functions.php:420 +#: includes/delele-comments-form-functions.php:423 msgid "Select post" msgstr "" -#: includes/delele-meta-form-functions.php:37 -msgid "Cleanup Metas " -msgstr "" - -#: includes/delele-meta-form-functions.php:43 -msgid "Orphaned Post Meta (%d Post Meta)" -msgstr "" - -#: includes/delele-meta-form-functions.php:50 -msgid "Duplicated Post Meta (%d Post Meta)" -msgstr "" - -#: includes/delele-meta-form-functions.php:57 -msgid "Orphaned Comment Meta (%d Comment Meta)" -msgstr "" - -#: includes/delele-meta-form-functions.php:64 -msgid "Duplicated Comment Meta (%d Comment Meta)" -msgstr "" - -#: includes/delele-meta-form-functions.php:71 -msgid "Orphaned User Meta (%d User Meta)" +#: includes/delele-meta-form-functions.php:28 +msgid "Cleanup Meta " msgstr "" -#: includes/delele-meta-form-functions.php:78 -msgid "Duplicated User Meta (%d User Meta)" +#: includes/delele-meta-form-functions.php:34 +msgid "Clear All Metadata Cleanup" msgstr "" -#: includes/delele-meta-form-functions.php:85 -msgid "Orphaned Term Meta (%d Term Meta)" -msgstr "" - -#: includes/delele-meta-form-functions.php:92 -msgid "Duplicated Term Meta (%d Term Meta)" +#: includes/delele-meta-form-functions.php:42 +msgid "Check all metadata to delete cleanup including options are given below
Orphan post meta,
Duplicate post meta,
Orphan comment meta,
Duplicate comment meta,
Orphan user meta,
Duplicate user meta,
Orphan term meta,
Duplicate term meta
." msgstr "" #: includes/delele-posts-form-functions.php:72 @@ -668,7 +616,7 @@ msgstr "" #: includes/delele-posts-form-functions.php:146 #: includes/delele-posts-form-functions.php:205 -#: includes/delele-posts-form-functions.php:615 +#: includes/delele-posts-form-functions.php:618 msgid "%s" msgstr "" @@ -694,278 +642,278 @@ msgstr "" msgid "By selecting this option, only the selected category posts will be deleted, but if the post has another category with the selected category, that post will not be deleted (which means posts that have multiple categories will not be deleted)" msgstr "" -#: includes/delele-posts-form-functions.php:299 +#: includes/delele-posts-form-functions.php:302 msgid "Post Status " msgstr "" -#: includes/delele-posts-form-functions.php:326 +#: includes/delele-posts-form-functions.php:329 msgid "Post Delete from Custom Query " msgstr "" -#: includes/delele-posts-form-functions.php:332 +#: includes/delele-posts-form-functions.php:335 msgid "With Custom Query" msgstr "" -#: includes/delele-posts-form-functions.php:340 +#: includes/delele-posts-form-functions.php:343 msgid "Enable this option to delete posts based on custom queries. Note that this option is only effective when using the \"Delete Permanently\" feature." msgstr "" -#: includes/delele-posts-form-functions.php:362 +#: includes/delele-posts-form-functions.php:365 msgid "WooCommerce Order Status " msgstr "" -#: includes/delele-posts-form-functions.php:384 +#: includes/delele-posts-form-functions.php:387 msgid "Post Date " msgstr "" -#: includes/delele-posts-form-functions.php:387 -#: includes/delele-posts-form-functions.php:449 +#: includes/delele-posts-form-functions.php:390 +#: includes/delele-posts-form-functions.php:452 msgid "Delete Posts which are" msgstr "" -#: includes/delele-posts-form-functions.php:390 -#: includes/delele-posts-form-functions.php:452 +#: includes/delele-posts-form-functions.php:393 +#: includes/delele-posts-form-functions.php:455 msgid "posted within last" msgstr "" -#: includes/delele-posts-form-functions.php:397 +#: includes/delele-posts-form-functions.php:400 msgid "posted between custom" msgstr "" -#: includes/delele-posts-form-functions.php:412 +#: includes/delele-posts-form-functions.php:415 msgid "Set the date interval for items to delete, or leave these fields blank to select all posts. The dates must be specified in the following format: YYYY-MM-DD" msgstr "" -#: includes/delele-posts-form-functions.php:425 +#: includes/delele-posts-form-functions.php:428 msgid "This option will work well with Scheduled Delete, which will help to delete posts of the selected option from the scheduled run date." msgstr "" -#: includes/delele-posts-form-functions.php:446 +#: includes/delele-posts-form-functions.php:449 msgid "Post Modified " msgstr "" -#: includes/delele-posts-form-functions.php:453 +#: includes/delele-posts-form-functions.php:456 msgid "posted between" msgstr "" -#: includes/delele-posts-form-functions.php:468 +#: includes/delele-posts-form-functions.php:471 msgid "Set the modified date interval for items to delete, or leave these fields blank to select all posts. The dates must be specified in the following format: YYYY-MM-DD" msgstr "" -#: includes/delele-posts-form-functions.php:489 +#: includes/delele-posts-form-functions.php:492 msgid "Post Content Count " msgstr "" -#: includes/delele-posts-form-functions.php:492 -#: includes/delele-posts-form-functions.php:518 +#: includes/delele-posts-form-functions.php:495 +#: includes/delele-posts-form-functions.php:521 msgid "Delete Post with Content Count Limit" msgstr "" -#: includes/delele-posts-form-functions.php:494 -#: includes/delele-posts-form-functions.php:520 +#: includes/delele-posts-form-functions.php:497 +#: includes/delele-posts-form-functions.php:523 msgid "Less Than." msgstr "" -#: includes/delele-posts-form-functions.php:495 -#: includes/delele-posts-form-functions.php:521 +#: includes/delele-posts-form-functions.php:498 +#: includes/delele-posts-form-functions.php:524 msgid "Greater Then." msgstr "" -#: includes/delele-posts-form-functions.php:498 +#: includes/delele-posts-form-functions.php:501 msgid "Character Limit" msgstr "" -#: includes/delele-posts-form-functions.php:515 +#: includes/delele-posts-form-functions.php:518 msgid "Post Content Word Count " msgstr "" -#: includes/delele-posts-form-functions.php:524 +#: includes/delele-posts-form-functions.php:527 msgid "Word Limit" msgstr "" -#: includes/delele-posts-form-functions.php:541 +#: includes/delele-posts-form-functions.php:544 msgid "If Post Title Contains " msgstr "" -#: includes/delele-posts-form-functions.php:545 -#: includes/delele-posts-form-functions.php:559 +#: includes/delele-posts-form-functions.php:548 +#: includes/delele-posts-form-functions.php:562 msgid "Then" msgstr "" -#: includes/delele-posts-form-functions.php:547 -#: includes/delele-posts-form-functions.php:561 +#: includes/delele-posts-form-functions.php:550 +#: includes/delele-posts-form-functions.php:564 msgid "Delete It." msgstr "" -#: includes/delele-posts-form-functions.php:548 -#: includes/delele-posts-form-functions.php:562 +#: includes/delele-posts-form-functions.php:551 +#: includes/delele-posts-form-functions.php:565 msgid "Don't delete It." msgstr "" -#: includes/delele-posts-form-functions.php:555 +#: includes/delele-posts-form-functions.php:558 msgid "If Post Content Contains " msgstr "" -#: includes/delele-posts-form-functions.php:579 +#: includes/delele-posts-form-functions.php:582 msgid "Post Delete Type " msgstr "" -#: includes/delele-posts-form-functions.php:583 +#: includes/delele-posts-form-functions.php:586 msgid "Move to Trash" msgstr "" -#: includes/delele-posts-form-functions.php:585 +#: includes/delele-posts-form-functions.php:588 msgid "Delete permanently" msgstr "" -#: includes/delele-posts-form-functions.php:601 +#: includes/delele-posts-form-functions.php:604 msgid "Authors " msgstr "" -#: includes/delele-posts-form-functions.php:648 +#: includes/delele-posts-form-functions.php:651 msgid "Set a limit on the number of posts to delete. Only the first set of posts up to this limit will be deleted. This option is useful if you have a large number of posts to delete and want to avoid script timeouts." msgstr "" -#: includes/delele-posts-form-functions.php:668 +#: includes/delele-posts-form-functions.php:671 msgid "Custom fields settings " msgstr "" -#: includes/delele-posts-form-functions.php:671 +#: includes/delele-posts-form-functions.php:674 msgid "Custom Fields Key" msgstr "" -#: includes/delele-posts-form-functions.php:674 +#: includes/delele-posts-form-functions.php:677 #: includes/delele-users-form-functions.php:153 #: includes/delele-users-form-functions.php:178 msgid "equal to ( string )" msgstr "" -#: includes/delele-posts-form-functions.php:676 +#: includes/delele-posts-form-functions.php:679 #: includes/delele-users-form-functions.php:155 msgid "Value" msgstr "" -#: includes/delele-posts-form-functions.php:697 +#: includes/delele-posts-form-functions.php:700 msgid "Select all Cleanups " msgstr "" -#: includes/delele-posts-form-functions.php:703 +#: includes/delele-posts-form-functions.php:706 msgid "Select All" msgstr "" -#: includes/delele-posts-form-functions.php:715 +#: includes/delele-posts-form-functions.php:718 msgid "Cleanup Posts " msgstr "" -#: includes/delele-posts-form-functions.php:721 +#: includes/delele-posts-form-functions.php:724 msgid "Revisions (%d Revisions)" msgstr "" -#: includes/delele-posts-form-functions.php:728 +#: includes/delele-posts-form-functions.php:731 msgid "Trash (Deleted Posts) (%d Trash)" msgstr "" -#: includes/delele-posts-form-functions.php:735 +#: includes/delele-posts-form-functions.php:738 msgid "Auto Drafts (%d Auto Drafts)" msgstr "" -#: includes/delele-posts-form-functions.php:756 +#: includes/delele-posts-form-functions.php:759 msgid "Delete Time " msgstr "" -#: includes/delele-posts-form-functions.php:760 +#: includes/delele-posts-form-functions.php:763 msgid "Delete now" msgstr "" -#: includes/delele-posts-form-functions.php:762 +#: includes/delele-posts-form-functions.php:765 msgid "Schedule delete at" msgstr "" -#: includes/delele-posts-form-functions.php:765 +#: includes/delele-posts-form-functions.php:768 msgid "repeat" msgstr "" -#: includes/delele-posts-form-functions.php:771 +#: includes/delele-posts-form-functions.php:774 msgid "Timezone: (%s)" msgstr "" -#: includes/delele-posts-form-functions.php:778 +#: includes/delele-posts-form-functions.php:781 msgid "Scheduled deletions use cron jobs and background processes, making them ideal for handling large volumes of records or performing repetitive deletions" msgstr "" -#: includes/delele-posts-form-functions.php:800 +#: includes/delele-posts-form-functions.php:803 msgid "Don't repeat" msgstr "" -#: includes/delele-posts-form-functions.php:803 +#: includes/delele-posts-form-functions.php:806 msgid "10 Minutes" msgstr "" -#: includes/delele-posts-form-functions.php:806 +#: includes/delele-posts-form-functions.php:809 msgid "30 Minutes" msgstr "" -#: includes/delele-posts-form-functions.php:809 +#: includes/delele-posts-form-functions.php:812 msgid "Once Hourly" msgstr "" -#: includes/delele-posts-form-functions.php:812 +#: includes/delele-posts-form-functions.php:815 msgid "Twice Daily" msgstr "" -#: includes/delele-posts-form-functions.php:815 +#: includes/delele-posts-form-functions.php:818 msgid "Once Daily" msgstr "" -#: includes/delele-posts-form-functions.php:818 +#: includes/delele-posts-form-functions.php:821 msgid "Once Weekly" msgstr "" -#: includes/delele-posts-form-functions.php:821 +#: includes/delele-posts-form-functions.php:824 msgid "Once a Month" msgstr "" -#: includes/delele-posts-form-functions.php:825 +#: includes/delele-posts-form-functions.php:828 msgid "Save it as " msgstr "" -#: includes/delele-posts-form-functions.php:826 +#: includes/delele-posts-form-functions.php:829 msgid "eg: Daily Post Delete" msgstr "" -#: includes/delele-posts-form-functions.php:916 +#: includes/delele-posts-form-functions.php:913 msgid "Advanced Category Filter " msgstr "" -#: includes/delele-posts-form-functions.php:959 +#: includes/delele-posts-form-functions.php:956 msgid "Advanced Date Filter " msgstr "" -#: includes/delele-posts-form-functions.php:981 +#: includes/delele-posts-form-functions.php:978 msgid "Delete Post Feature Image Filter " msgstr "" -#: includes/delele-posts-form-functions.php:1020 +#: includes/delele-posts-form-functions.php:1017 msgid "Custom Field Filter " msgstr "" -#: includes/delele-posts-form-functions.php:1058 +#: includes/delele-posts-form-functions.php:1055 msgid "Advanced Filter " msgstr "" -#: includes/delele-posts-form-functions.php:1098 +#: includes/delele-posts-form-functions.php:1095 msgid "Custom Query Filter " msgstr "" -#: includes/delele-posts-form-functions.php:1171 +#: includes/delele-posts-form-functions.php:1168 msgid "Post Links " msgstr "" -#: includes/delele-posts-form-functions.php:1193 +#: includes/delele-posts-form-functions.php:1190 msgid "Delete Post Featured image " msgstr "" -#: includes/delele-posts-form-functions.php:1204 +#: includes/delele-posts-form-functions.php:1201 msgid "It enables the removal of the featured image of the post, if the image is a featured image of multiple posts, it will not be removed. and If the image is being used in a place other than the featured image, it will be deleted." msgstr ""