Media Cleaner - Version 5.1.3

Version Description

  • Add: Support for WebP.
  • Update: Avoid removing tables when plugin is only disabled.
  • Fix: For some, the tables couldn't be reset.
Download this release

Release Info

Developer TigrouMeow
Plugin Icon 128x128 Media Cleaner
Version 5.1.3
Comparing to
See all releases

Code changes from version 5.1.1 to 5.1.3

common/admin.css CHANGED
@@ -299,9 +299,29 @@
299
 
300
  /* DASHBOARD */
301
 
 
 
 
 
 
 
 
 
 
302
  .meow-dashboard .meow-box li {
303
  border-bottom: 1px solid #eee;
304
- padding: 0px 10px 10px 10px;
 
 
 
 
 
 
 
 
 
 
 
305
  }
306
 
307
  .meow-dashboard .meow-box li:last-child {
299
 
300
  /* DASHBOARD */
301
 
302
+ .meow-dashboard {
303
+ box-sizing: border-box;
304
+ }
305
+
306
+ .meow-dashboard .meow-box ul {
307
+ padding: 0px;
308
+ margin: 0px;
309
+ }
310
+
311
  .meow-dashboard .meow-box li {
312
  border-bottom: 1px solid #eee;
313
+ margin: 0px;
314
+ padding: 10px;
315
+ min-height: 80px;
316
+ box-sizing: border-box;
317
+ }
318
+
319
+ .meow-dashboard .meow-box li img {
320
+ width: 80px;
321
+ height: 80px;
322
+ float: left;
323
+ margin: -10px 10px -10px -10px;
324
+
325
  }
326
 
327
  .meow-dashboard .meow-box li:last-child {
common/admin.php CHANGED
@@ -7,7 +7,7 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
7
  public static $logo = 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxIiB2aWV3Qm94PSIwIDAgMTY1IDE2NSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8c3R5bGU+CiAgICAuc3Qye2ZpbGw6IzgwNDYyNX0uc3Qze2ZpbGw6I2ZkYTk2MH0KICA8L3N0eWxlPgogIDxwYXRoIGQ9Ik03MiA3YTc2IDc2IDAgMCAxIDg0IDkxQTc1IDc1IDAgMSAxIDcyIDd6IiBmaWxsPSIjNGE2YjhjIi8+CiAgPHBhdGggZD0iTTQ4IDQ4YzIgNSAyIDEwIDUgMTQgNSA4IDEzIDE3IDIyIDIwbDEtMTBjMS0yIDMtMyA1LTNoMTNjMiAwIDQgMSA1IDNsMyA5IDQtMTBjMi0zIDYtMiA5LTJoMTFjMyAyIDMgNSAzIDhsMiAzN2MwIDMtMSA3LTQgOGgtMTJjLTIgMC0zLTItNS00LTEgMS0yIDMtNCAzLTUgMS05IDEtMTMtMS0zIDItNSAyLTkgMnMtOSAxLTEwLTNjLTItNC0xLTggMC0xMi04LTMtMTUtNy0yMi0xMi03LTctMTUtMTQtMjAtMjMtMy00LTUtOC01LTEzIDEtNCAzLTEwIDYtMTMgNC0zIDEyLTIgMTUgMnoiIGZpbGw9IiMxMDEwMTAiLz4KICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDMgNTFsNCAxMS02IDVoLTZjLTMtNS0zLTExIDAtMTYgMi0yIDYtMyA4IDB6Ii8+CiAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTQ3IDYybDMgNmMwIDMgMCA0LTIgNnMtNCAyLTcgMmwtNi05aDZsNi01eiIvPgogIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik01MCA2OGw4IDljLTMgMy01IDYtOSA4bC04LTljMyAwIDUgMCA3LTJzMy0zIDItNnoiLz4KICA8cGF0aCBkPSJNODIgNzRoMTJsNSAxOCAzIDExIDgtMjloMTNsMiA0MmgtOGwtMS0yLTEtMzEtMTAgMzItNyAxLTktMzMtMSAyOS0xIDRoLThsMy00MnoiIGZpbGw9IiNmZmYiLz4KICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNNTggNzdsNSA1Yy0xIDQtMiA4LTcgOGwtNy01YzQtMiA2LTUgOS04eiIvPgogIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik02MyA4Mmw5IDUtNiA5LTEwLTZjNSAwIDYtNCA3LTh6Ii8+CiAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTcyIDg3bDMgMS0xIDExLTgtMyA2LTEweiIvPgo8L3N2Zz4K';
8
 
9
  public static $loaded = false;
10
- public static $admin_version = "1.8";
11
 
12
  public $prefix; // prefix used for actions, filters (mfrh)
13
  public $mainfile; // plugin main file (media-file-renamer.php)
@@ -286,7 +286,7 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
286
  function plugins_loaded() {
287
  if ( isset( $_GET[ 'tool' ] ) && $_GET[ 'tool' ] == 'error_log' ) {
288
  $sec = "5";
289
- header("Refresh: $sec;");
290
  }
291
  }
292
 
@@ -305,11 +305,20 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
305
  echo "</div>";
306
  }
307
  else if ( isset( $_GET['tool'] ) && $_GET['tool'] == 'error_log' ) {
 
 
 
 
308
  $errorpath = ini_get( 'error_log' );
309
  echo "<a href=\"javascript:history.go(-1)\">< Go back</a><br /><br />";
 
 
 
 
 
310
  echo '<div id="error_log">';
311
  if ( file_exists( $errorpath ) ) {
312
- echo "Now (auto-reload every 5 seconds):<br />[" . date( "d-M-Y H:i:s", time() ) . " UTC]<br /<br /><br />Errors (order by latest):";
313
  $errors = file_get_contents( $errorpath );
314
  $errors = explode( "\n", $errors );
315
  $errors = array_reverse( $errors );
@@ -334,24 +343,28 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
334
  <div class="meow-box meow-col meow-span_1_of_2 ">
335
  <h3 class=""><span class="dashicons dashicons-camera"></span> UI Plugins </h3>
336
  <ul class="">
337
- <li><b>WP/LR Sync</b> <?php echo $this->check_install( 'wplr-sync' ) ?><br />
 
338
  Synchronize photos (folders, collections, keywords) from Lightroom to WordPress.</li>
339
- <li><b>Meow Lightbox</b> <?php echo $this->check_install( 'meow-lightbox' ) ?><br />
 
340
  Light but powerful lightbox that can also display photo information (EXIF).</li>
341
- <li><b>Meow Gallery</b> <?php echo $this->check_install( 'meow-gallery' ) ?><br />
 
342
  Gallery (using the built-in WP gallery) that makes your website look better.</li>
343
- <!-- <li><b>Audio Story for Images</b> <?php echo $this->check_install( 'audio-story-images' ) ?><br />
344
- Add audio (music, explanation, ambiance) to your images.</li> -->
345
  </ul>
346
  </div>
347
  <div class="meow-box meow-col meow-span_1_of_2">
348
  <h3 class=""><span class="dashicons dashicons-admin-tools"></span> System Plugins</h3>
349
  <ul class="">
350
- <li><b>Media File Renamer</b> <?php echo $this->check_install( 'media-file-renamer' ) ?><br />
 
351
  For nicer filenames and better SEO.</li>
352
- <li><b>Media Cleaner</b> <?php echo $this->check_install( 'media-cleaner' ) ?><br />
 
353
  Detect the files which are not in use.</li>
354
- <li><b>WP Retina 2x</b> <?php echo $this->check_install( 'wp-retina-2x' ) ?><br />
 
355
  The famous plugin that adds Retina support.</li>
356
  </ul>
357
  </div>
7
  public static $logo = 'data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxIiB2aWV3Qm94PSIwIDAgMTY1IDE2NSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8c3R5bGU+CiAgICAuc3Qye2ZpbGw6IzgwNDYyNX0uc3Qze2ZpbGw6I2ZkYTk2MH0KICA8L3N0eWxlPgogIDxwYXRoIGQ9Ik03MiA3YTc2IDc2IDAgMCAxIDg0IDkxQTc1IDc1IDAgMSAxIDcyIDd6IiBmaWxsPSIjNGE2YjhjIi8+CiAgPHBhdGggZD0iTTQ4IDQ4YzIgNSAyIDEwIDUgMTQgNSA4IDEzIDE3IDIyIDIwbDEtMTBjMS0yIDMtMyA1LTNoMTNjMiAwIDQgMSA1IDNsMyA5IDQtMTBjMi0zIDYtMiA5LTJoMTFjMyAyIDMgNSAzIDhsMiAzN2MwIDMtMSA3LTQgOGgtMTJjLTIgMC0zLTItNS00LTEgMS0yIDMtNCAzLTUgMS05IDEtMTMtMS0zIDItNSAyLTkgMnMtOSAxLTEwLTNjLTItNC0xLTggMC0xMi04LTMtMTUtNy0yMi0xMi03LTctMTUtMTQtMjAtMjMtMy00LTUtOC01LTEzIDEtNCAzLTEwIDYtMTMgNC0zIDEyLTIgMTUgMnoiIGZpbGw9IiMxMDEwMTAiLz4KICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDMgNTFsNCAxMS02IDVoLTZjLTMtNS0zLTExIDAtMTYgMi0yIDYtMyA4IDB6Ii8+CiAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTQ3IDYybDMgNmMwIDMgMCA0LTIgNnMtNCAyLTcgMmwtNi05aDZsNi01eiIvPgogIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik01MCA2OGw4IDljLTMgMy01IDYtOSA4bC04LTljMyAwIDUgMCA3LTJzMy0zIDItNnoiLz4KICA8cGF0aCBkPSJNODIgNzRoMTJsNSAxOCAzIDExIDgtMjloMTNsMiA0MmgtOGwtMS0yLTEtMzEtMTAgMzItNyAxLTktMzMtMSAyOS0xIDRoLThsMy00MnoiIGZpbGw9IiNmZmYiLz4KICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNNTggNzdsNSA1Yy0xIDQtMiA4LTcgOGwtNy01YzQtMiA2LTUgOS04eiIvPgogIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik02MyA4Mmw5IDUtNiA5LTEwLTZjNSAwIDYtNCA3LTh6Ii8+CiAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTcyIDg3bDMgMS0xIDExLTgtMyA2LTEweiIvPgo8L3N2Zz4K';
8
 
9
  public static $loaded = false;
10
+ public static $admin_version = "1.9";
11
 
12
  public $prefix; // prefix used for actions, filters (mfrh)
13
  public $mainfile; // plugin main file (media-file-renamer.php)
286
  function plugins_loaded() {
287
  if ( isset( $_GET[ 'tool' ] ) && $_GET[ 'tool' ] == 'error_log' ) {
288
  $sec = "5";
289
+ header( "Refresh: $sec;" );
290
  }
291
  }
292
 
305
  echo "</div>";
306
  }
307
  else if ( isset( $_GET['tool'] ) && $_GET['tool'] == 'error_log' ) {
308
+ $log_msg = '=== MEOW APPS DEBUG (This is not an error) ===';
309
+ if ( isset( $_POST['write_logs'] ) ) {
310
+ error_log( $log_msg );
311
+ }
312
  $errorpath = ini_get( 'error_log' );
313
  echo "<a href=\"javascript:history.go(-1)\">< Go back</a><br /><br />";
314
+ echo '
315
+ <form method="post">
316
+ <input type="hidden" name="write_logs" value="true">
317
+ <input class="button button-primary" type="submit" value="Write in the Error Logs">
318
+ </form><br />';
319
  echo '<div id="error_log">';
320
  if ( file_exists( $errorpath ) ) {
321
+ echo "Now (auto-reload every 5 seconds): [" . date( "d-M-Y H:i:s", time() ) . " UTC]<br /><br /><h2 style='margin: 0px;'>Errors (order by latest)</h2>";
322
  $errors = file_get_contents( $errorpath );
323
  $errors = explode( "\n", $errors );
324
  $errors = array_reverse( $errors );
343
  <div class="meow-box meow-col meow-span_1_of_2 ">
344
  <h3 class=""><span class="dashicons dashicons-camera"></span> UI Plugins </h3>
345
  <ul class="">
346
+ <li><img src='<?= $this->common_url( 'img/wplr-sync.jpg' ) ?>' /><b>WP/LR Sync</b>
347
+ <?php echo $this->check_install( 'wplr-sync' ) ?><br />
348
  Synchronize photos (folders, collections, keywords) from Lightroom to WordPress.</li>
349
+ <li><img src='<?= $this->common_url( 'img/meow-lightbox.jpg' ) ?>' /><b>Meow Lightbox</b>
350
+ <?php echo $this->check_install( 'meow-lightbox' ) ?><br />
351
  Light but powerful lightbox that can also display photo information (EXIF).</li>
352
+ <li><img src='<?= $this->common_url( 'img/meow-gallery.jpg' ) ?>' /><b>Meow Gallery</b>
353
+ <?php echo $this->check_install( 'meow-gallery' ) ?><br />
354
  Gallery (using the built-in WP gallery) that makes your website look better.</li>
 
 
355
  </ul>
356
  </div>
357
  <div class="meow-box meow-col meow-span_1_of_2">
358
  <h3 class=""><span class="dashicons dashicons-admin-tools"></span> System Plugins</h3>
359
  <ul class="">
360
+ <li><img src='<?= $this->common_url( 'img/media-file-renamer.jpg' ) ?>' /><b>Media File Renamer</b>
361
+ <?php echo $this->check_install( 'media-file-renamer' ) ?><br />
362
  For nicer filenames and better SEO.</li>
363
+ <li><img src='<?= $this->common_url( 'img/media-cleaner.jpg' ) ?>' /><b>Media Cleaner</b>
364
+ <?php echo $this->check_install( 'media-cleaner' ) ?><br />
365
  Detect the files which are not in use.</li>
366
+ <li><img src='<?= $this->common_url( 'img/wp-retina-2x.jpg' ) ?>' /><b>WP Retina 2x</b>
367
+ <?php echo $this->check_install( 'wp-retina-2x' ) ?><br />
368
  The famous plugin that adds Retina support.</li>
369
  </ul>
370
  </div>
common/img/default.png ADDED
Binary file
common/img/media-cleaner.jpg ADDED
Binary file
common/img/media-file-renamer.jpg ADDED
Binary file
common/img/meow-gallery.jpg ADDED
Binary file
common/img/meow-lightbox.jpg ADDED
Binary file
common/img/wp-retina-2x.jpg ADDED
Binary file
common/img/wpengine.png DELETED
Binary file
common/img/wplr-sync.jpg ADDED
Binary file
core.php CHANGED
@@ -170,7 +170,8 @@ class Meow_WPMC_Core {
170
  $urls = $dom->getElementsByTagName( 'a' );
171
  foreach ( $urls as $url ) {
172
  $src = $this->wpmc_clean_url( $url->getAttribute('href') );
173
- array_push( $results, $src );
 
174
  }
175
 
176
  // PDF
@@ -653,7 +654,11 @@ class Meow_WPMC_Core {
653
  $newurl = str_replace( 'https://', 'http://', $url );
654
  $newurl = str_replace( 'http://www.', 'http://', $newurl );
655
  $newurl = str_replace( $baseurl, '', $newurl );
656
- $newurl = trim( $newurl, "/" );
 
 
 
 
657
  return $newurl;
658
  }
659
 
@@ -791,6 +796,9 @@ class Meow_WPMC_Core {
791
  else if ( $issue == 'ORPHAN_RETINA' ) {
792
  _e( "Orphan retina.", 'media-cleaner' );
793
  }
 
 
 
794
  else if ( $issue == 'ORPHAN_MEDIA' ) {
795
  _e( "File not found.", 'media-cleaner' );
796
  }
@@ -807,7 +815,7 @@ class Meow_WPMC_Core {
807
 
808
  function wpmc_init( $mainfile ) {
809
  register_activation_hook( $mainfile, 'wpmc_reset' );
810
- register_deactivation_hook( $mainfile, 'wpmc_uninstall' );
811
  register_uninstall_hook( $mainfile, 'wpmc_uninstall' );
812
  }
813
 
@@ -857,10 +865,9 @@ function wpmc_install() {
857
 
858
  function wpmc_uninstall () {
859
  global $wpdb;
860
- $table_name = $wpdb->prefix . "wpmcleaner";
861
- $wpdb->query("DROP TABLE IF EXISTS $table_name");
862
- $table_name = $wpdb->prefix . "mclean_scan";
863
- $wpdb->query("DROP TABLE IF EXISTS $table_name");
864
- $table_name = $wpdb->prefix . "mclean_refs";
865
- $wpdb->query("DROP TABLE IF EXISTS $table_name");
866
  }
170
  $urls = $dom->getElementsByTagName( 'a' );
171
  foreach ( $urls as $url ) {
172
  $src = $this->wpmc_clean_url( $url->getAttribute('href') );
173
+ if ( !empty( $src ) )
174
+ array_push( $results, $src );
175
  }
176
 
177
  // PDF
654
  $newurl = str_replace( 'https://', 'http://', $url );
655
  $newurl = str_replace( 'http://www.', 'http://', $newurl );
656
  $newurl = str_replace( $baseurl, '', $newurl );
657
+
658
+ // https://wordpress.org/support/topic/links-containing-encoded-special-characters/
659
+ //$newurl = trim( $newurl, "/" );
660
+ $newurl = urldecode( trim( $newurl, "/" ) );
661
+
662
  return $newurl;
663
  }
664
 
796
  else if ( $issue == 'ORPHAN_RETINA' ) {
797
  _e( "Orphan retina.", 'media-cleaner' );
798
  }
799
+ else if ( $issue == 'ORPHAN_WEBP' ) {
800
+ _e( "Orphan WebP.", 'media-cleaner' );
801
+ }
802
  else if ( $issue == 'ORPHAN_MEDIA' ) {
803
  _e( "File not found.", 'media-cleaner' );
804
  }
815
 
816
  function wpmc_init( $mainfile ) {
817
  register_activation_hook( $mainfile, 'wpmc_reset' );
818
+ //register_deactivation_hook( $mainfile, 'wpmc_uninstall' );
819
  register_uninstall_hook( $mainfile, 'wpmc_uninstall' );
820
  }
821
 
865
 
866
  function wpmc_uninstall () {
867
  global $wpdb;
868
+ $table_name1 = $wpdb->prefix . "mclean_scan";
869
+ $table_name2 = $wpdb->prefix . "mclean_refs";
870
+ $table_name3 = $wpdb->prefix . "wpmcleaner";
871
+ $sql = "DROP TABLE IF EXISTS $table_name1, $table_name2, $table_name3;";
872
+ $wpdb->query( $sql );
 
873
  }
media-cleaner.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Media Cleaner
4
  Plugin URI: https://meowapps.com
5
  Description: Clean your Media Library, many options, trash system.
6
- Version: 5.1.1
7
  Author: Jordy Meow
8
  Author URI: https://meowapps.com
9
  Text Domain: media-cleaner
@@ -24,7 +24,7 @@ if ( class_exists( 'Meow_WPMC_Core' ) ) {
24
  if ( is_admin() ) {
25
 
26
  global $wpmc_version;
27
- $wpmc_version = '5.1.1';
28
 
29
  // Admin
30
  require __DIR__ . '/admin.php';
3
  Plugin Name: Media Cleaner
4
  Plugin URI: https://meowapps.com
5
  Description: Clean your Media Library, many options, trash system.
6
+ Version: 5.1.3
7
  Author: Jordy Meow
8
  Author URI: https://meowapps.com
9
  Text Domain: media-cleaner
24
  if ( is_admin() ) {
25
 
26
  global $wpmc_version;
27
+ $wpmc_version = '5.1.3';
28
 
29
  // Admin
30
  require __DIR__ . '/admin.php';
readme.txt CHANGED
@@ -1,9 +1,10 @@
1
  === Media Cleaner ===
2
- Contributors: TigrouMeow, amekusa
3
- Tags: clean, delete, file, files, images, image, media, library, upload, clean, acf
4
  Requires at least: 4.8
5
- Tested up to: 5.0
6
- Stable tag: 5.1.1
 
7
 
8
  Clean your WordPress (broken media, unused media, files). It has its own trash and recovery features. Please read the description.
9
 
@@ -21,26 +22,29 @@ This tool is a knife. Do not use it if you don't have any backup, or if you don'
21
  The files detected as not used will be listed in a specific dashboard. At this point, it will be up to you to delete them. They will be then moved to a trash internal to the plugin. After more testing, you can trash them permanently.
22
 
23
  === COMPATIBILITY ===
24
- I am adding support for specific plugins little by little. Currently, I have been working with ACF, Gutenberg, Divi, Fusion Builder (Avada), WooCommerce, Visual Composer (WPBakery), Elementor, and Beaver Builder. **Specific checks for Page Builders are being added to the Pro version** (as it requires meticulous work and updates).
25
 
26
  === PRO ===
27
- [Media Cleaner Pro](https://meowapps.com/media-cleaner) can scan your physical /uploads directory, and match it against the Media Library. It also has extra support for Page Builders.
 
 
 
 
 
 
 
 
 
28
 
29
  === AGAIN, BE CAREFUL ===
30
  Again, this plugin deletes files so be careful! Backup is not only important, it is **necessary**. Don't use this plugin if you don't understand how WordPress works.
31
 
32
  == Installation ==
33
 
34
- 1. Upload `media-file-cleaner` to the `/wp-content/plugins/` directory.
35
- 2. Activate the plugin through the 'Plugins' menu in WordPress.
36
- 3. Please have a look at the [tutorial](https://meowapps.com/media-cleaner-tutorial/).
37
- 4. Prepare a backup.
38
- 5. Go in Meow Apps -> Media Cleaner and check the appropriate options.
39
- 6. Go in Media -> Media Cleaner.
40
-
41
- == Frequently Asked Questions ==
42
-
43
- The official FAQ is [here](https://meowapps.com/media-cleaner/faq/).
44
 
45
  == Screenshots ==
46
 
@@ -48,8 +52,14 @@ The official FAQ is [here](https://meowapps.com/media-cleaner/faq/).
48
 
49
  == Changelog ==
50
 
51
- = 5.1.1 =
52
- * Update: General admin style update.
 
 
 
 
 
 
53
 
54
  = 5.1.0 =
55
  * Add: Filters for Filesystem scan. Please have a look at the tutorial (https://meowapps.com/media-cleaner-tutorial/), there is now a section about those filters.
@@ -57,8 +67,7 @@ The official FAQ is [here](https://meowapps.com/media-cleaner/faq/).
57
  * Fix: Thumbnails matching.
58
  * Update: Compatibility for WordPress 5 and Gutenberg.
59
 
60
- = 5.0.2 =
61
- * Update: Remove UpdraftPlus.
62
  * Update: Slight code cleaning.
63
  * Update: Checkboxes are updated dynamically.
64
  * Info: Media Cleaner is better than ever by going through so many improvements and optimizations this year. The plugin has also been perfectly stable for a few weeks, so I have decided to change its version number. Please help this plugin survive by giving me a nice review, here: https://wordpress.org/support/plugin/meow-lightbox/reviews/?rate=5#new-post. Thank you :)
1
  === Media Cleaner ===
2
+ Contributors: TigrouMeow
3
+ Tags: clean, delete, file, files, images, image, media, library, upload, acf
4
  Requires at least: 4.8
5
+ Requires PHP: 7.0
6
+ Tested up to: 5.1
7
+ Stable tag: 5.1.3
8
 
9
  Clean your WordPress (broken media, unused media, files). It has its own trash and recovery features. Please read the description.
10
 
22
  The files detected as not used will be listed in a specific dashboard. At this point, it will be up to you to delete them. They will be then moved to a trash internal to the plugin. After more testing, you can trash them permanently.
23
 
24
  === COMPATIBILITY ===
25
+ It works with any kind of media, and including their retina and/or WebP versions. I am adding support for specific plugins little by little. As it requires meticulous work and updates, **specific checks for Page Builders are being added to the Pro version**.
26
 
27
  === PRO ===
28
+ [Media Cleaner Pro](https://meowapps.com/media-cleaner) can scan your physical /uploads directory, and match it against the Media Library. It also has extra support for plugins which are complicated to handle. Here is the list:
29
+
30
+ - Gutenberg
31
+ - ACF
32
+ - Divi
33
+ - Fusion Builder (Avada)
34
+ - WooCommerce
35
+ - Visual Composer (WPBakery)
36
+ - Elementor
37
+ - Beaver Builder
38
 
39
  === AGAIN, BE CAREFUL ===
40
  Again, this plugin deletes files so be careful! Backup is not only important, it is **necessary**. Don't use this plugin if you don't understand how WordPress works.
41
 
42
  == Installation ==
43
 
44
+ 1. Upload `media-file-cleaner-pro` to the `/wp-content/plugins/` directory
45
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
46
+ 3. Go in the Settings -> Media Cleaner and check the appropriate options
47
+ 3. Go in Media -> Media Cleaner
 
 
 
 
 
 
48
 
49
  == Screenshots ==
50
 
52
 
53
  == Changelog ==
54
 
55
+ = 5.1.3 =
56
+ * Add: Support for WebP.
57
+ * Update: Avoid removing tables when plugin is only disabled.
58
+ * Fix: For some, the tables couldn't be reset.
59
+
60
+ = 5.1.2 =
61
+ * Update: Admin style update and common framework updated.
62
+ * Update: Compatibility with WordPress 5.1.
63
 
64
  = 5.1.0 =
65
  * Add: Filters for Filesystem scan. Please have a look at the tutorial (https://meowapps.com/media-cleaner-tutorial/), there is now a section about those filters.
67
  * Fix: Thumbnails matching.
68
  * Update: Compatibility for WordPress 5 and Gutenberg.
69
 
70
+ = 5.0.1 =
 
71
  * Update: Slight code cleaning.
72
  * Update: Checkboxes are updated dynamically.
73
  * Info: Media Cleaner is better than ever by going through so many improvements and optimizations this year. The plugin has also been perfectly stable for a few weeks, so I have decided to change its version number. Please help this plugin survive by giving me a nice review, here: https://wordpress.org/support/plugin/meow-lightbox/reviews/?rate=5#new-post. Thank you :)