Media File Renamer - Version 4.0.3

Version Description

  • Fix: Insensitive-case match was giving the wrong file in some cases (webp for instance).
Download this release

Release Info

Developer TigrouMeow
Plugin Icon 128x128 Media File Renamer
Version 4.0.3
Comparing to
See all releases

Code changes from version 4.0.2 to 4.0.3

Files changed (6) hide show
  1. common/admin.css +142 -142
  2. common/admin.php +21 -4
  3. core.php +1 -1
  4. media-file-renamer.php +2 -2
  5. mfrh_custom.php +1 -1
  6. readme.txt +7 -8
common/admin.css CHANGED
@@ -1,164 +1,164 @@
1
  /* MEOW BOX (SETTINGS BOX) */
2
 
3
  .meow-box {
4
- box-sizing: border-box;
5
- border: 1px solid #e5e5e5;
6
- box-shadow: 2px 2px 1px rgba(0,0,0,.02);
7
- background: #fff;
8
- color: #444;
9
- margin-bottom: 15px;
10
- font-size: 13px !important;
11
- border-top-right-radius: 8px;
12
  }
13
 
14
  .meow-box input, .meow-box th, .meow-box label, .meow-box select {
15
- font-size: 13px !important;
16
  }
17
 
18
  .meow-box small {
19
- font-size: 12px !important;
20
  }
21
 
22
  .meow-box h3 {
23
- font-size: 13px;
24
- padding: 4px 12px;
25
- margin: 0;
26
- background: #3c3c3c;
27
- color: #ffffff;
28
- text-transform: uppercase;
29
- border-top-right-radius: 8px;
30
- /*border-bottom: 1px solid #eee;*/
31
  }
32
 
33
  .meow-box h3 .dashicons {
34
- position: relative;
35
- top: 0px;
36
- margin-right: 5px;
37
  }
38
 
39
  .meow-box .pro_info {
40
- padding: 5px;
41
- margin: 10px -10px 5px -10px;
42
- font-size: 11px;
43
- line-height: 13px;
44
  }
45
 
46
  .meow-box .pro_info.enabled {
47
- background: #4482d2;
48
- border-left: 5px solid #4482d2;
49
- color: white;
50
  }
51
 
52
  .meow-box .pro_info.disabled {
53
- background: #96555b;
54
- border-left: 5px solid #632329;
55
- color: white;
56
  }
57
 
58
  .meow-box .pro_info.disabled a {
59
- background: #96555b;
60
- color: red;
61
- text-decoration: none;
62
  }
63
 
64
  .meow-box .inside {
65
- margin: 10px;
66
  }
67
 
68
  .meow-box th {
69
- padding: 10px 10px 10px 0px;
70
- width: 22%;
71
  }
72
 
73
  .meow-box td {
74
- padding: 10px 10px;
75
  }
76
 
77
  .meow-box p.submit {
78
- text-align: right;
79
- margin: 10px -10px -10px -10px;
80
- padding: 7px 10px 10px 0px !important;
81
- border-top: 1px solid #eee !important;
82
- max-width: inherit;
83
- background: rgba(125, 125, 125, 0.04);
84
- border-radius: 0px;
85
  }
86
 
87
  .meow-box [type="text"], .meow-box select {
88
- width: 100%;
89
  }
90
 
91
  /* CONTROLS INSIDE A COLUMN (LABEL ON THE LEFT, VALUE ON THE RIGHT) */
92
  .meow-box td [type="text"], .meow-box td [type="checkbox"], .meow-box td select {
93
- margin-top: -3px;
94
  }
95
 
96
  .meow-header-ad {
97
- float: right;
98
  }
99
 
100
  /* BUTTONS */
101
 
102
  .meow-button-xs {
103
- font-size: 10px !important;
104
- height: 20px !important;
105
- line-height: 18px !important;
106
- position: relative !important;
107
- top: 1px !important;
108
- text-align: center !important
109
  }
110
 
111
  /* MODAL */
112
 
113
- #meow-modal-info-backdrop {
114
- background: rgba(0, 0, 0, 0.75);
115
- position: fixed;
116
- top: 0px;
117
- bottom: 0px;
118
- right: 0px;
119
- left: 0px;
120
- z-index: 10000;
121
- }
122
-
123
- #meow-modal-info {
124
- background: white;
125
- box-shadow: 0px 0px 5px black;
126
- padding: 15px;
127
- overflow-y: scroll;
128
- position: fixed;
129
- z-index: 10000;
130
- left: 100px;
131
- right: 100px;
132
- top: 50px;
133
- bottom: 50px;
134
- }
135
-
136
- #meow-modal-info h3 {
137
- height: 25px;
138
- border-bottom: 2px solid #808080;
139
- }
140
-
141
- #meow-modal-info td {
142
- text-align: center;
143
- font-size: 11px;
144
- border: 1px solid #D3DCFF;
145
- padding: 10px 15px;
146
- background: #EFF8FF;
147
- }
148
-
149
- #meow-modal-info .close {
150
- float: right;
151
- font-size: 18px;
152
- font-weight: bold;
153
- font-family: Verdana;
154
- cursor: pointer;
155
- }
156
-
157
- #meow-modal-info .loading {
158
- background-color: #F2F2F2;
159
- text-align: center;
160
- padding-top: 10px;
161
- background-size: 32px 32px;
162
  }
163
 
164
  #meow-modal-info .meow-sized-image {
@@ -191,106 +191,106 @@
191
  }
192
 
193
  .meow-sized-images:after {
194
- clear: both;
195
- content:""; display:table;
196
  }
197
 
198
  .meow-sized-images + span {
199
- position: relative;
200
- top: -12px;
201
  }
202
 
203
  /* MEOW COLORS */
204
 
205
  .meow-bk-blue {
206
  background: #3C82C7 !important;
207
- color: white;
208
  }
209
 
210
  .meow-bk-orange {
211
  background: #f1900e !important;
212
- color: white;
213
  }
214
 
215
  .meow-bk-red {
216
  background: #c53a47 !important;
217
- color: white;
218
  }
219
 
220
  .meow-bk-gray {
221
  background: gray !important;
222
- color: white;
223
  }
224
 
225
  .meow-bk-green {
226
  background: #2b9463 !important;
227
- color: white;
228
  }
229
 
230
  .meow-bk-black {
231
- background: #3c3c3c !important;
232
- color: white;
233
  }
234
 
235
  .meow-bk-purple {
236
- background: #984c96 !important;
237
- color: white;
238
  }
239
 
240
  /* DASHBOARD */
241
 
242
  .meow-dashboard .meow-box li {
243
- border-bottom: 1px solid #eee;
244
- padding: 0px 10px 10px 10px;
245
  }
246
 
247
  .meow-dashboard .meow-box li:last-child {
248
- border: none;
249
- padding-bottom: 0px;
250
  }
251
 
252
  .meow-button-xs .dashicons {
253
- font-size: 18px !important;
254
  }
255
 
256
  .meow-button-xs.updating-message:before {
257
- margin-top: 0px !important;
258
  }
259
 
260
  .meow-button-xs.updating-message * {
261
- display: none;
262
  }
263
 
264
  #phpinfo {
265
- font-size: 11px;
266
  }
267
 
268
  #phpinfo .e {
269
- padding: 5px;
270
- background: lightgray;
271
  }
272
 
273
  #phpinfo .h th {
274
- padding: 5px;
275
- color: white;
276
- background: gray;
277
- text-align: left;
278
- font-size: 14px !important;
279
  }
280
 
281
  #phpinfo h1 {
282
- padding: 10px 0px;
283
- font-weight: bold;
284
  }
285
 
286
  #phpinfo h2 {
287
- padding: 10px 0px;
288
- font-weight: bold;
289
- font-size: 20px;
290
  }
291
 
292
  #error_log {
293
- font-size: 12px;
294
  }
295
 
296
  /* ROWS AND COLUMNS */
@@ -314,9 +314,9 @@
314
  .meow-span_1_of_2 { width: 49.2%; }
315
 
316
  @media only screen and (max-width: 480px) {
317
- .meow-col { margin: 0 0 0px 0;}
318
- .meow-span_3_of_3, .meow-span_2_of_3, .meow-span_1_of_3 { width: 100%; }
319
- .meow-span_2_of_2, .meow-span_1_of_2 { width: 100%; }
320
- .meow-header-ad { display: none !important; }
321
- .meow-box [type="text"] { width: 100% !important; }
322
  }
1
  /* MEOW BOX (SETTINGS BOX) */
2
 
3
  .meow-box {
4
+ box-sizing: border-box;
5
+ border: 1px solid #e5e5e5;
6
+ box-shadow: 2px 2px 1px rgba(0,0,0,.02);
7
+ background: #fff;
8
+ color: #444;
9
+ margin-bottom: 15px;
10
+ font-size: 13px !important;
11
+ border-top-right-radius: 8px;
12
  }
13
 
14
  .meow-box input, .meow-box th, .meow-box label, .meow-box select {
15
+ font-size: 13px !important;
16
  }
17
 
18
  .meow-box small {
19
+ font-size: 12px !important;
20
  }
21
 
22
  .meow-box h3 {
23
+ font-size: 13px;
24
+ padding: 4px 12px;
25
+ margin: 0;
26
+ background: #3c3c3c;
27
+ color: #ffffff;
28
+ text-transform: uppercase;
29
+ border-top-right-radius: 8px;
30
+ /*border-bottom: 1px solid #eee;*/
31
  }
32
 
33
  .meow-box h3 .dashicons {
34
+ position: relative;
35
+ top: 0px;
36
+ margin-right: 5px;
37
  }
38
 
39
  .meow-box .pro_info {
40
+ padding: 5px;
41
+ margin: 10px -10px 5px -10px;
42
+ font-size: 11px;
43
+ line-height: 13px;
44
  }
45
 
46
  .meow-box .pro_info.enabled {
47
+ background: #4482d2;
48
+ border-left: 5px solid #4482d2;
49
+ color: white;
50
  }
51
 
52
  .meow-box .pro_info.disabled {
53
+ background: #96555b;
54
+ border-left: 5px solid #632329;
55
+ color: white;
56
  }
57
 
58
  .meow-box .pro_info.disabled a {
59
+ background: #96555b;
60
+ color: red;
61
+ text-decoration: none;
62
  }
63
 
64
  .meow-box .inside {
65
+ margin: 10px;
66
  }
67
 
68
  .meow-box th {
69
+ padding: 10px 10px 10px 0px;
70
+ width: 22%;
71
  }
72
 
73
  .meow-box td {
74
+ padding: 10px 10px;
75
  }
76
 
77
  .meow-box p.submit {
78
+ text-align: right;
79
+ margin: 10px -10px -10px -10px;
80
+ padding: 7px 10px 10px 0px !important;
81
+ border-top: 1px solid #eee !important;
82
+ max-width: inherit;
83
+ background: rgba(125, 125, 125, 0.04);
84
+ border-radius: 0px;
85
  }
86
 
87
  .meow-box [type="text"], .meow-box select {
88
+ width: 100%;
89
  }
90
 
91
  /* CONTROLS INSIDE A COLUMN (LABEL ON THE LEFT, VALUE ON THE RIGHT) */
92
  .meow-box td [type="text"], .meow-box td [type="checkbox"], .meow-box td select {
93
+ margin-top: -3px;
94
  }
95
 
96
  .meow-header-ad {
97
+ float: right;
98
  }
99
 
100
  /* BUTTONS */
101
 
102
  .meow-button-xs {
103
+ font-size: 10px !important;
104
+ height: 20px !important;
105
+ line-height: 18px !important;
106
+ position: relative !important;
107
+ top: 1px !important;
108
+ text-align: center !important
109
  }
110
 
111
  /* MODAL */
112
 
113
+ #meow-modal-info-backdrop {
114
+ background: rgba(0, 0, 0, 0.75);
115
+ position: fixed;
116
+ top: 0px;
117
+ bottom: 0px;
118
+ right: 0px;
119
+ left: 0px;
120
+ z-index: 10000;
121
+ }
122
+
123
+ #meow-modal-info {
124
+ background: white;
125
+ box-shadow: 0px 0px 5px black;
126
+ padding: 15px;
127
+ overflow-y: scroll;
128
+ position: fixed;
129
+ z-index: 10000;
130
+ left: 100px;
131
+ right: 100px;
132
+ top: 50px;
133
+ bottom: 50px;
134
+ }
135
+
136
+ #meow-modal-info h3 {
137
+ height: 25px;
138
+ border-bottom: 2px solid #808080;
139
+ }
140
+
141
+ #meow-modal-info td {
142
+ text-align: center;
143
+ font-size: 11px;
144
+ border: 1px solid #D3DCFF;
145
+ padding: 10px 15px;
146
+ background: #EFF8FF;
147
+ }
148
+
149
+ #meow-modal-info .close {
150
+ float: right;
151
+ font-size: 18px;
152
+ font-weight: bold;
153
+ font-family: Verdana;
154
+ cursor: pointer;
155
+ }
156
+
157
+ #meow-modal-info .loading {
158
+ background-color: #F2F2F2;
159
+ text-align: center;
160
+ padding-top: 10px;
161
+ background-size: 32px 32px;
162
  }
163
 
164
  #meow-modal-info .meow-sized-image {
191
  }
192
 
193
  .meow-sized-images:after {
194
+ clear: both;
195
+ content:""; display:table;
196
  }
197
 
198
  .meow-sized-images + span {
199
+ position: relative;
200
+ top: -12px;
201
  }
202
 
203
  /* MEOW COLORS */
204
 
205
  .meow-bk-blue {
206
  background: #3C82C7 !important;
207
+ color: white;
208
  }
209
 
210
  .meow-bk-orange {
211
  background: #f1900e !important;
212
+ color: white;
213
  }
214
 
215
  .meow-bk-red {
216
  background: #c53a47 !important;
217
+ color: white;
218
  }
219
 
220
  .meow-bk-gray {
221
  background: gray !important;
222
+ color: white;
223
  }
224
 
225
  .meow-bk-green {
226
  background: #2b9463 !important;
227
+ color: white;
228
  }
229
 
230
  .meow-bk-black {
231
+ background: #3c3c3c !important;
232
+ color: white;
233
  }
234
 
235
  .meow-bk-purple {
236
+ background: #984c96 !important;
237
+ color: white;
238
  }
239
 
240
  /* DASHBOARD */
241
 
242
  .meow-dashboard .meow-box li {
243
+ border-bottom: 1px solid #eee;
244
+ padding: 0px 10px 10px 10px;
245
  }
246
 
247
  .meow-dashboard .meow-box li:last-child {
248
+ border: none;
249
+ padding-bottom: 0px;
250
  }
251
 
252
  .meow-button-xs .dashicons {
253
+ font-size: 18px !important;
254
  }
255
 
256
  .meow-button-xs.updating-message:before {
257
+ margin-top: 0px !important;
258
  }
259
 
260
  .meow-button-xs.updating-message * {
261
+ display: none;
262
  }
263
 
264
  #phpinfo {
265
+ font-size: 11px;
266
  }
267
 
268
  #phpinfo .e {
269
+ padding: 5px;
270
+ background: lightgray;
271
  }
272
 
273
  #phpinfo .h th {
274
+ padding: 5px;
275
+ color: white;
276
+ background: gray;
277
+ text-align: left;
278
+ font-size: 14px !important;
279
  }
280
 
281
  #phpinfo h1 {
282
+ padding: 10px 0px;
283
+ font-weight: bold;
284
  }
285
 
286
  #phpinfo h2 {
287
+ padding: 10px 0px;
288
+ font-weight: bold;
289
+ font-size: 20px;
290
  }
291
 
292
  #error_log {
293
+ font-size: 12px;
294
  }
295
 
296
  /* ROWS AND COLUMNS */
314
  .meow-span_1_of_2 { width: 49.2%; }
315
 
316
  @media only screen and (max-width: 480px) {
317
+ .meow-col { margin: 0 0 0px 0;}
318
+ .meow-span_3_of_3, .meow-span_2_of_3, .meow-span_1_of_3 { width: 100%; }
319
+ .meow-span_2_of_2, .meow-span_1_of_2 { width: 100%; }
320
+ .meow-header-ad { display: none !important; }
321
+ .meow-box [type="text"] { width: 100% !important; }
322
  }
common/admin.php CHANGED
@@ -57,7 +57,7 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
57
  $rating_date = get_option( $this->prefix . '_rating_date' );
58
  if ( empty( $rating_date ) ) {
59
  $two_months = strtotime( '+2 months' );
60
- $six_months = strtotime( '+6 months' );
61
  $rating_date = mt_rand( $two_months, $six_months );
62
  update_option( $this->prefix . '_rating_date', $rating_date, false );
63
  }
@@ -73,18 +73,18 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
73
  return;
74
  }
75
  else if ( isset( $_POST[$this->prefix . '_never_remind_me'] ) ) {
76
- $twenty_years = strtotime( '+20 years' );
77
  update_option( $this->prefix . '_rating_date', $twenty_years, false );
78
  return;
79
  }
80
  else if ( isset( $_POST[$this->prefix . '_did_it'] ) ) {
81
- $twenty_years = strtotime( '+100 years' );
82
  update_option( $this->prefix . '_rating_date', $twenty_years, false );
83
  return;
84
  }
85
  $rating_date = get_option( $this->prefix . '_rating_date' );
86
  echo '<div class="notice notice-success" data-rating-date="' . date( 'Y-m-d', $rating_date ) . '">';
87
- echo '<p style="font-size: 100%;">You have been using <b>' . $this->nice_name_from_file( $this->mainfile ) . '</b> for some time now. If you enjoy it, could you share your thoughts and give the developers a sweet spike of motivation? In that case, please: <a target="_blank" href="https://wordpress.org/support/plugin/' . $this->nice_short_url_from_file( $this->mainfile ) . '/reviews/?rate=5#new-post">review it</a>. Thank you :)';
88
  echo '<p>
89
  <form method="post" action="" style="float: right;">
90
  <input type="hidden" name="' . $this->prefix . '_never_remind_me" value="true">
@@ -382,8 +382,25 @@ if ( !class_exists( 'MeowApps_Admin' ) ) {
382
  </ul>
383
  </div>
384
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
385
  </div>
386
 
 
387
  <?php
388
 
389
  }
57
  $rating_date = get_option( $this->prefix . '_rating_date' );
58
  if ( empty( $rating_date ) ) {
59
  $two_months = strtotime( '+2 months' );
60
+ $six_months = strtotime( '+4 months' );
61
  $rating_date = mt_rand( $two_months, $six_months );
62
  update_option( $this->prefix . '_rating_date', $rating_date, false );
63
  }
73
  return;
74
  }
75
  else if ( isset( $_POST[$this->prefix . '_never_remind_me'] ) ) {
76
+ $twenty_years = strtotime( '+5 years' );
77
  update_option( $this->prefix . '_rating_date', $twenty_years, false );
78
  return;
79
  }
80
  else if ( isset( $_POST[$this->prefix . '_did_it'] ) ) {
81
+ $twenty_years = strtotime( '+10 years' );
82
  update_option( $this->prefix . '_rating_date', $twenty_years, false );
83
  return;
84
  }
85
  $rating_date = get_option( $this->prefix . '_rating_date' );
86
  echo '<div class="notice notice-success" data-rating-date="' . date( 'Y-m-d', $rating_date ) . '">';
87
+ echo '<p style="font-size: 100%;">You have been using <b>' . $this->nice_name_from_file( $this->mainfile ) . '</b> for some time now. Thank you! Could you kindly share your opinion with me, along with, maybe, features you would like to see implemented? Then, please <a style="font-weight: bold; color: #b926ff;" target="_blank" href="https://wordpress.org/support/plugin/' . $this->nice_short_url_from_file( $this->mainfile ) . '/reviews/?rate=5#new-post">write a little review</a>. That will also bring me joy and motivation, and I will get back to you :) <u>In the case you already have written a review</u>, please check again. Many reviews got removed from WordPress recently.';
88
  echo '<p>
89
  <form method="post" action="" style="float: right;">
90
  <input type="hidden" name="' . $this->prefix . '_never_remind_me" value="true">
382
  </ul>
383
  </div>
384
  </div>
385
+
386
+ <div class="meow-box meow-col meow-span_1_of_3">
387
+ <h3><span class="dashicons dashicons-admin-tools"></span> Post Types (used by this install)</h3>
388
+ <div class="inside">
389
+ <?php
390
+ global $wpdb;
391
+ // Maybe we could avoid to check more post_types.
392
+ // SELECT post_type, COUNT(*) FROM `wp_posts` GROUP BY post_type
393
+ $types = $wpdb->get_results( "SELECT post_type as 'type', COUNT(*) as 'count' FROM $wpdb->posts GROUP BY post_type" );
394
+ $result = array();
395
+ foreach( $types as $type )
396
+ array_push( $result, "{$type->type} ({$type->count})" );
397
+ echo implode( $result, ', ' );
398
+ ?>
399
+ </div>
400
+ </div>
401
  </div>
402
 
403
+
404
  <?php
405
 
406
  }
core.php CHANGED
@@ -105,7 +105,7 @@ class Meow_MFRH_Core {
105
  }
106
  // Compare filenames
107
  foreach ( $fileArray as $file ) {
108
- if ( preg_match( "/" . preg_quote( $filename ) . "/{$i}", $file ) ) {
109
  $output = $file;
110
  break;
111
  }
105
  }
106
  // Compare filenames
107
  foreach ( $fileArray as $file ) {
108
+ if ( preg_match( "/" . preg_quote( $filename ) . "$/{$i}", $file ) ) {
109
  $output = $file;
110
  break;
111
  }
media-file-renamer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Media File Renamer
4
  Plugin URI: http://meowapps.com
5
  Description: Auto-rename the files when titles are modified and update and the references (links). Manual Rename is a Pro option. Please read the description.
6
- Version: 4.0.2
7
  Author: Jordy Meow
8
  Author URI: http://meowapps.com
9
  Text Domain: media-file-renamer
@@ -29,7 +29,7 @@ if ( class_exists( 'Meow_MFRH_Core' ) ) {
29
  if ( is_admin() ) {
30
 
31
  global $mfrh_version, $mfrh_core;
32
- $mfrh_version = '4.0.2';
33
 
34
  // Admin
35
  require( 'mfrh_admin.php');
3
  Plugin Name: Media File Renamer
4
  Plugin URI: http://meowapps.com
5
  Description: Auto-rename the files when titles are modified and update and the references (links). Manual Rename is a Pro option. Please read the description.
6
+ Version: 4.0.3
7
  Author: Jordy Meow
8
  Author URI: http://meowapps.com
9
  Text Domain: media-file-renamer
29
  if ( is_admin() ) {
30
 
31
  global $mfrh_version, $mfrh_core;
32
+ $mfrh_version = '4.0.3';
33
 
34
  // Admin
35
  require( 'mfrh_admin.php');
mfrh_custom.php CHANGED
@@ -43,7 +43,7 @@
43
  // add_action( 'mfrh_media_renamed', 'filepath_of_media_was_modified', 10, 3 );
44
  //
45
  // function filepath_of_media_was_modified( $post, $orig_image_url, $new_image_url ) {
46
- //
47
  // }
48
  // =============================================================================
49
 
43
  // add_action( 'mfrh_media_renamed', 'filepath_of_media_was_modified', 10, 3 );
44
  //
45
  // function filepath_of_media_was_modified( $post, $orig_image_url, $new_image_url ) {
46
+ // $original_filename = get_post_meta( $post['ID'], '_original_filename', true );
47
  // }
48
  // =============================================================================
49
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: TigrouMeow
3
  Tags: rename, file, files, media, manager, image, renamer, wpml, optimization, seo, retina, gutenberg
4
  Requires at least: 4.6
5
  Tested up to: 4.9.4
6
- Stable tag: 4.0.2
7
 
8
  Automatically rename files depending on Media titles dynamically + update links. Pro version has many more options. Check the description :)
9
 
@@ -15,13 +15,13 @@ The Media File Renamer is a WordPress plugin that physically renames media files
15
 
16
  **HOW IT WORKS**. The plugin automatically renames your media filenames depending on their titles. When files are renamed, the references to it are also updated (posts, pages, custom types and their metadata). A new column in the Media Manager will display to you the new ideal filename and a button will allow you to rename it straight away. You can lock and unlock the renaming automatic process through little icons. There is also a little dashboard called File Renamer in Media that will help you rename all your files at once. Advanced users can change the way the files are renamed by using the plugin's filters (check the FAQ). There is also a LOCK option on every image to avoid the filename to be modified any further.
17
 
18
- **PRO VERSION**. The [Pro Version](http://meowapps.com/media-file-renamer/) gives a few more features like manual renaming, renaming depending on the post the media is attached to or the content of the alternative text (ALT), logging of SQL queries and a few more options. A good process is to actually let the plugin do the renaming automatically (like in the free version) and to do manual renaming for the files that require fine tuning.
19
 
20
  **BE CAREFUL**. File renaming is a dangerous process. Before renaming everything automatically, try to rename a few files first and check if all the references to those files have been properly updated on your website. WordPress has so many themes and plugins that this renaming process can't unfortunately cover all the cases, especially if other plugins are using unconventional ways. If references aren't updated properly, please write a nice post (not an angry one) in the support threads :) I will try my best to cover more and more special cases. In any case, always make a **backup** of your database and files before using a plugin that alter your install. For backup, you can use such a plugin as [UpdraftPlus](https://updraftplus.com/?afref=460). Also, it your website seems broken after a few renames, try to **clear your cache**. The cached HTML will indeed not be linked to the new filenames.
21
 
22
  **FOR DEVELOPER**. The plugin can be tweaked and reference updates enhanced for your themes/plugins. Have a look [here](https://wordpress.org/plugins/media-file-renamer/faq/).
23
 
24
- **JUST TO MAKE SURE**. This plugin will not allow you to change the filename manually in its standard version. The [Pro Version](http://meowapps.com/media-file-renamer/) is required. If you are about to *write an angry review* because this feature is not available, please *mention that you read the whole description*.
25
 
26
  This plugin works perfectly with WP Retina 2x, WPML and many more. Is has been tested in Windows, Linux, BSD and OSX systems.
27
 
@@ -39,7 +39,7 @@ Simply replace `media-file-renamer.php` by the new one.
39
 
40
  == Frequently Asked Questions ==
41
 
42
- Check the FAQ on the official website, here: http://meowapps.com/media-file-renamer/faq/. The following is to enhance the plugin for your own install and is aim to advanced users and developers. If you want to quickly try to use the following filters and actions, please have a look a the file called mfrh_custom.php in the plugin, uncomment some code and hack it :)
43
 
44
  **Change the way the files are renamed**
45
 
@@ -100,6 +100,9 @@ You are welcome to create plugins using Media File Renamer using special rules f
100
 
101
  == Changelog ==
102
 
 
 
 
103
  = 4.0.2 =
104
  * Fix: PDF thumbnails support.
105
  * Update: Code improvement, faster SQL queries.
@@ -334,7 +337,3 @@ You are welcome to create plugins using Media File Renamer using special rules f
334
 
335
  = 0.1 =
336
  * First release.
337
-
338
- == Wishlist ==
339
-
340
- Do you have suggestions? Feel free to contact me at <a href='http://www.totorotimes.com'>Totoro Times</a>.
3
  Tags: rename, file, files, media, manager, image, renamer, wpml, optimization, seo, retina, gutenberg
4
  Requires at least: 4.6
5
  Tested up to: 4.9.4
6
+ Stable tag: 4.0.3
7
 
8
  Automatically rename files depending on Media titles dynamically + update links. Pro version has many more options. Check the description :)
9
 
15
 
16
  **HOW IT WORKS**. The plugin automatically renames your media filenames depending on their titles. When files are renamed, the references to it are also updated (posts, pages, custom types and their metadata). A new column in the Media Manager will display to you the new ideal filename and a button will allow you to rename it straight away. You can lock and unlock the renaming automatic process through little icons. There is also a little dashboard called File Renamer in Media that will help you rename all your files at once. Advanced users can change the way the files are renamed by using the plugin's filters (check the FAQ). There is also a LOCK option on every image to avoid the filename to be modified any further.
17
 
18
+ **PRO VERSION**. The [Pro Version](https://meowapps.com/media-file-renamer/) gives a few more features like manual renaming, renaming depending on the post the media is attached to or the content of the alternative text (ALT), logging of SQL queries and a few more options. A good process is to actually let the plugin do the renaming automatically (like in the free version) and to do manual renaming for the files that require fine tuning.
19
 
20
  **BE CAREFUL**. File renaming is a dangerous process. Before renaming everything automatically, try to rename a few files first and check if all the references to those files have been properly updated on your website. WordPress has so many themes and plugins that this renaming process can't unfortunately cover all the cases, especially if other plugins are using unconventional ways. If references aren't updated properly, please write a nice post (not an angry one) in the support threads :) I will try my best to cover more and more special cases. In any case, always make a **backup** of your database and files before using a plugin that alter your install. For backup, you can use such a plugin as [UpdraftPlus](https://updraftplus.com/?afref=460). Also, it your website seems broken after a few renames, try to **clear your cache**. The cached HTML will indeed not be linked to the new filenames.
21
 
22
  **FOR DEVELOPER**. The plugin can be tweaked and reference updates enhanced for your themes/plugins. Have a look [here](https://wordpress.org/plugins/media-file-renamer/faq/).
23
 
24
+ **JUST TO MAKE SURE**. This plugin will not allow you to change the filename manually in its standard version. The [Pro Version](https://meowapps.com/media-file-renamer/) is required. If you are about to *write an angry review* because this feature is not available, please *mention that you read the whole description*.
25
 
26
  This plugin works perfectly with WP Retina 2x, WPML and many more. Is has been tested in Windows, Linux, BSD and OSX systems.
27
 
39
 
40
  == Frequently Asked Questions ==
41
 
42
+ Check the FAQ on the official website, here: https://meowapps.com/media-file-renamer/faq/. The following is to enhance the plugin for your own install and is aim to advanced users and developers. If you want to quickly try to use the following filters and actions, please have a look a the file called mfrh_custom.php in the plugin, uncomment some code and hack it :)
43
 
44
  **Change the way the files are renamed**
45
 
100
 
101
  == Changelog ==
102
 
103
+ = 4.0.3 =
104
+ * Fix: Insensitive-case match was giving the wrong file in some cases (webp for instance).
105
+
106
  = 4.0.2 =
107
  * Fix: PDF thumbnails support.
108
  * Update: Code improvement, faster SQL queries.
337
 
338
  = 0.1 =
339
  * First release.