Featured Image From URL - Version 3.9.4

Version Description

  • New feature: Video Controls; enhancement: CDN + Optimized Thumbnails (works on Product Categories page now); deprecated: Black Background; fix: Quick Edit Column (style issues).
Download this release

Release Info

Developer marceljm
Plugin Icon 128x128 Featured Image From URL
Version 3.9.4
Comparing to
See all releases

Code changes from version 3.9.3 to 3.9.4

admin/column.php CHANGED
@@ -40,7 +40,9 @@ function fifu_admin_add_css_js() {
40
  }
41
 
42
  function fifu_column_head($default) {
43
- $default['featured_image'] = '<span class="dashicons dashicons-camera" style="font-size:20px" title="Edit fast and saves in less than 1 second"></span> Quick edit';
 
 
44
  return $default;
45
  }
46
 
@@ -48,7 +50,7 @@ function fifu_ctgr_column_content($internal_image, $column, $term_id) {
48
  if ($column == 'featured_image') {
49
  $border = '';
50
  $height = get_option('fifu_column_height');
51
- $width = $height * 1.5;
52
 
53
  $is_ctgr = true;
54
  $post_id = $term_id;
@@ -60,7 +62,7 @@ function fifu_ctgr_column_content($internal_image, $column, $term_id) {
60
  $image_url = wp_get_attachment_url($thumb_id);
61
  $border = 'border-color: #ca4a1f !important; border: 2px; border-style: dashed;';
62
  }
63
- $url = fifu_is_on('fifu_photon') ? fifu_jetpack_photon_url($image_url, fifu_get_photon_args($width, $height)) : $image_url;
64
  include 'html/column.html';
65
  } else
66
  echo $internal_image;
@@ -70,7 +72,7 @@ function fifu_column_content($column, $post_id) {
70
  if ($column == 'featured_image') {
71
  $border = '';
72
  $height = get_option('fifu_column_height');
73
- $width = $height * 1.5;
74
 
75
  $is_ctgr = false;
76
  $image_url = null;
@@ -80,7 +82,7 @@ function fifu_column_content($column, $post_id) {
80
  $image_url = wp_get_attachment_url(get_post_thumbnail_id());
81
  $border = 'border-color: #ca4a1f !important; border: 2px; border-style: dashed;';
82
  }
83
- $url = fifu_is_on('fifu_photon') ? fifu_jetpack_photon_url($image_url, fifu_get_photon_args($width, $height)) : $image_url;
84
  include 'html/column.html';
85
  }
86
  }
@@ -90,3 +92,12 @@ function fifu_column_custom_post_type() {
90
  add_filter('manage_edit-' . $post_type . '_columns', 'fifu_column_head');
91
  }
92
 
 
 
 
 
 
 
 
 
 
40
  }
41
 
42
  function fifu_column_head($default) {
43
+ $fifu = fifu_get_strings_quick_edit();
44
+ $height = get_option('fifu_column_height');
45
+ $default['featured_image'] = "<center style='max-width:{$height}px'><span class='dashicons dashicons-camera' style='font-size:20px; cursor:help;' title='{$fifu['tip']['column']()}'></span></center>";
46
  return $default;
47
  }
48
 
50
  if ($column == 'featured_image') {
51
  $border = '';
52
  $height = get_option('fifu_column_height');
53
+ $width = $height * 1.;
54
 
55
  $is_ctgr = true;
56
  $post_id = $term_id;
62
  $image_url = wp_get_attachment_url($thumb_id);
63
  $border = 'border-color: #ca4a1f !important; border: 2px; border-style: dashed;';
64
  }
65
+ $url = fifu_optimized_column_image($image_url);
66
  include 'html/column.html';
67
  } else
68
  echo $internal_image;
72
  if ($column == 'featured_image') {
73
  $border = '';
74
  $height = get_option('fifu_column_height');
75
+ $width = $height * 1.;
76
 
77
  $is_ctgr = false;
78
  $image_url = null;
82
  $image_url = wp_get_attachment_url(get_post_thumbnail_id());
83
  $border = 'border-color: #ca4a1f !important; border: 2px; border-style: dashed;';
84
  }
85
+ $url = fifu_optimized_column_image($image_url);
86
  include 'html/column.html';
87
  }
88
  }
92
  add_filter('manage_edit-' . $post_type . '_columns', 'fifu_column_head');
93
  }
94
 
95
+ function fifu_optimized_column_image($url) {
96
+ if (fifu_is_on('fifu_photon')) {
97
+ $height = get_option('fifu_column_height');
98
+ return fifu_jetpack_photon_url($url, fifu_get_photon_args($height, $height));
99
+ }
100
+
101
+ return $url;
102
+ }
103
+
admin/html/cloud.html CHANGED
@@ -113,13 +113,17 @@
113
  <?php $fifucloud['pricing']['desc']() ?>
114
  <br>
115
  <br>
116
- <table style="text-align:left; width:100%; background-color:white;">
 
 
 
 
117
  <tr class="color">
118
  <th style="font-weight:bold;">
119
- <?php $fifucloud['pricing']['table']['quantity']() ?>
120
  </th>
121
  <th style="font-weight:bold;">
122
- <?php $fifucloud['pricing']['table']['price']() ?>
123
  </th>
124
  </tr>
125
  <tr class="color">
@@ -162,26 +166,25 @@
162
  $0.001
163
  </td>
164
  </tr>
165
- </table>
166
  <br>
167
  <?php $fifucloud['pricing']['thumbnails']() ?>
168
  <br>
169
  <br>
170
- <hr size="8" width="100%" color="red" style="border:2px solid #1d2327;border-radius:5px;">
171
- <br>
172
- <?php $fifucloud['pricing']['example']() ?>:
173
- <br>
174
- <br>
175
- <table style="text-align:left; width:100%; background-color:white;">
176
  <tr class="color">
177
  <th style="font-weight:bold;">
178
- <?php $fifucloud['pricing']['table']['interval']() ?>
179
  </th>
180
  <th style="font-weight:bold;">
181
- <?php $fifucloud['pricing']['table']['days']() ?>
182
  </th>
183
  <th style="font-weight:bold;">
184
- <?php $fifucloud['pricing']['table']['stored']() ?>
185
  </th>
186
  </tr>
187
  <tr class="color">
@@ -239,12 +242,13 @@
239
  1229
240
  </td>
241
  </tr>
 
242
  </table>
243
  <br>
244
  <table style="text-align:left; width:100%; background-color:white;">
245
  <tr class="color">
246
  <th style="font-weight:bold">
247
- <?php $fifucloud['pricing']['table']['average']() ?>
248
  </th>
249
  <th>
250
  (2 x 352 + 9 x 1263 + 7 x 1104 + 8 x 901 + 4 x 1229) / 30 = 1064
@@ -252,7 +256,7 @@
252
  </tr>
253
  <tr class="color">
254
  <td style="font-weight:bold">
255
- <?php $fifucloud['pricing']['table']['price']() ?>
256
  </td>
257
  <td>
258
  $0.004
@@ -260,13 +264,13 @@
260
  </tr>
261
  <tr class="color">
262
  <td style="font-weight:bold">
263
- <?php $fifucloud['pricing']['table']['total']() ?>
264
  </td>
265
  <td>
266
  1064 x $0.004 = $4.25
267
  </td>
268
  </tr>
269
- </table>
270
  </div>
271
  <br>
272
  ¹ <?php $fifucloud['pricing']['table']['ps']() ?>
113
  <?php $fifucloud['pricing']['desc']() ?>
114
  <br>
115
  <br>
116
+ <div style="background-color:#32373c; text-align:left; color:white; padding:8px; border-radius:5px;">
117
+ <b><?php $fifucloud['billing']['tiers']() ?></b>
118
+ </div>
119
+ <img src='https://storage.googleapis.com/featuredimagefromurl/tiers.jpg'>
120
+ <!--table style="text-align:left; width:100%; background-color:white;">
121
  <tr class="color">
122
  <th style="font-weight:bold;">
123
+ <?php $fifucloud['pricing']['table']['quantity']() ?>
124
  </th>
125
  <th style="font-weight:bold;">
126
+ <?php $fifucloud['pricing']['table']['price']() ?>
127
  </th>
128
  </tr>
129
  <tr class="color">
166
  $0.001
167
  </td>
168
  </tr>
169
+ </table-->
170
  <br>
171
  <?php $fifucloud['pricing']['thumbnails']() ?>
172
  <br>
173
  <br>
174
+ <div style="background-color:#32373c; text-align:left; color:white; padding:8px; border-radius:5px;">
175
+ <b><?php $fifucloud['pricing']['example']() ?></b>
176
+ </div>
177
+ <img src="https://storage.googleapis.com/featuredimagefromurl/price-calculation.jpg">
178
+ <!--table style="text-align:left; width:100%; background-color:white;">
 
179
  <tr class="color">
180
  <th style="font-weight:bold;">
181
+ <?php $fifucloud['pricing']['table']['interval']() ?>
182
  </th>
183
  <th style="font-weight:bold;">
184
+ <?php $fifucloud['pricing']['table']['days']() ?>
185
  </th>
186
  <th style="font-weight:bold;">
187
+ <?php $fifucloud['pricing']['table']['stored']() ?>
188
  </th>
189
  </tr>
190
  <tr class="color">
242
  1229
243
  </td>
244
  </tr>
245
+ <tr></tr>
246
  </table>
247
  <br>
248
  <table style="text-align:left; width:100%; background-color:white;">
249
  <tr class="color">
250
  <th style="font-weight:bold">
251
+ <?php $fifucloud['pricing']['table']['average']() ?>
252
  </th>
253
  <th>
254
  (2 x 352 + 9 x 1263 + 7 x 1104 + 8 x 901 + 4 x 1229) / 30 = 1064
256
  </tr>
257
  <tr class="color">
258
  <td style="font-weight:bold">
259
+ <?php $fifucloud['pricing']['table']['price']() ?>
260
  </td>
261
  <td>
262
  $0.004
264
  </tr>
265
  <tr class="color">
266
  <td style="font-weight:bold">
267
+ <?php $fifucloud['pricing']['table']['total']() ?>
268
  </td>
269
  <td>
270
  1064 x $0.004 = $4.25
271
  </td>
272
  </tr>
273
+ </table-->
274
  </div>
275
  <br>
276
  ¹ <?php $fifucloud['pricing']['table']['ps']() ?>
admin/html/menu.html CHANGED
@@ -19,7 +19,7 @@
19
  <li><a href="#tabs-n"><i class="fas fa-share-alt"></i> <?php $fifu['tab']['social']() ?></a></li>
20
  <li><a href="#tabs-i"><i class="fas fa-tachometer-alt"></i> <?php $fifu['tab']['performance']() ?></a></li>
21
  <li><a href="#tabs-o"><i class="fas fa-shopping-cart"></i> <?php $fifu['tab']['woo']() ?></a></li>
22
- <li><a href="#tabs-p"><i class="fas fa-redo"></i> <?php $fifu['tab']['wai']() ?></a></li>
23
  <li><a href="#tabs-q"><i class="fas fa-keyboard"></i> <?php $fifu['tab']['api']() ?></a></li>
24
  <li><a href="#tabs-k"><i class="fas fa-user-cog"></i> <?php $fifu['tab']['admin']() ?></a></li>
25
  <li><a href="#tabs-j"><i class="fas fa-database"></i> <?php $fifu['tab']['metadata']() ?></a></li>
@@ -1495,11 +1495,11 @@
1495
  <?php $fifu['tab']['video']() ?>
1496
  </th>
1497
  <th>
1498
- <?php $fifu['title']['black']() ?>
1499
  </th>
1500
  <th></th>
1501
  <th>
1502
- wp fifu video --black &lt;toggle&gt;
1503
  </th>
1504
  <th>
1505
  on, off
@@ -4158,9 +4158,9 @@
4158
 
4159
  <div class="box">
4160
  <div class="fifu-pro"><div class="fifu-pro-out"><a class="fifu-pro-link" href="https://fifu.app/" target="_blank" title="Unlock all features"><h4 class="fifu-pro-text"><span class="dashicons dashicons-lock fifu-pro-icon"></span>PRO</h4></a></div></div>
4161
- <h2><?php $fifu['title']['black']() ?></h2>
4162
  <div class="greybox" id="grad2">
4163
- <?php $fifu['black']['desc']() ?>
4164
  </div>
4165
  <br>
4166
  <table style="text-align:left">
@@ -4174,7 +4174,6 @@
4174
  style="display:block;border:none">
4175
  </th>
4176
  <th>
4177
- <?php $fifu['player']['vimeo']() ?>
4178
  </th>
4179
  </tr>
4180
  </table>
19
  <li><a href="#tabs-n"><i class="fas fa-share-alt"></i> <?php $fifu['tab']['social']() ?></a></li>
20
  <li><a href="#tabs-i"><i class="fas fa-tachometer-alt"></i> <?php $fifu['tab']['performance']() ?></a></li>
21
  <li><a href="#tabs-o"><i class="fas fa-shopping-cart"></i> <?php $fifu['tab']['woo']() ?></a></li>
22
+ <li><a href="#tabs-p"><i class="fas fa-file-export"></i> <?php $fifu['tab']['wai']() ?></a></li>
23
  <li><a href="#tabs-q"><i class="fas fa-keyboard"></i> <?php $fifu['tab']['api']() ?></a></li>
24
  <li><a href="#tabs-k"><i class="fas fa-user-cog"></i> <?php $fifu['tab']['admin']() ?></a></li>
25
  <li><a href="#tabs-j"><i class="fas fa-database"></i> <?php $fifu['tab']['metadata']() ?></a></li>
1495
  <?php $fifu['tab']['video']() ?>
1496
  </th>
1497
  <th>
1498
+ <?php $fifu['title']['controls']() ?>
1499
  </th>
1500
  <th></th>
1501
  <th>
1502
+ wp fifu video --controls &lt;toggle&gt;
1503
  </th>
1504
  <th>
1505
  on, off
4158
 
4159
  <div class="box">
4160
  <div class="fifu-pro"><div class="fifu-pro-out"><a class="fifu-pro-link" href="https://fifu.app/" target="_blank" title="Unlock all features"><h4 class="fifu-pro-text"><span class="dashicons dashicons-lock fifu-pro-icon"></span>PRO</h4></a></div></div>
4161
+ <h2><?php $fifu['title']['controls']() ?></h2>
4162
  <div class="greybox" id="grad2">
4163
+ <?php $fifu['controls']['desc']() ?>
4164
  </div>
4165
  <br>
4166
  <table style="text-align:left">
4174
  style="display:block;border:none">
4175
  </th>
4176
  <th>
 
4177
  </th>
4178
  </tr>
4179
  </table>
admin/html/troubleshooting.html CHANGED
@@ -9,6 +9,21 @@
9
  <div id="tabs-top" style="float:left">
10
  <ul>
11
  <div id="tabs-t" style="padding:1em 1.4em; position: relative; top: -25px;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  <div class="box">
13
  <table>
14
  <tr>
9
  <div id="tabs-top" style="float:left">
10
  <ul>
11
  <div id="tabs-t" style="padding:1em 1.4em; position: relative; top: -25px;">
12
+ <div class="box">
13
+ <table>
14
+ <tr>
15
+ <td style="border-bottom:none">2022-04-30</td>
16
+ <td style="border-bottom:none"><h3>Product/Review CSV Import Export</h3></td>
17
+ <td style="border-bottom:none">plugin</td>
18
+ </tr>
19
+ </table>
20
+ <div class="greybox" style="position: relative; top: -10px">
21
+ Importing URLs to FIFU:<br>
22
+ 1) enable "FIFU Settings > Metadata > Schedule Metadata Generation"<br>
23
+ 2) use "custom fields" in the import template, as you would do for the WooCommerce import (take a look at "FIFU Settings > WooCommerce > Import")<br>
24
+ 3) run the import
25
+ </div>
26
+ </div>
27
  <div class="box">
28
  <table>
29
  <tr>
admin/menu.php CHANGED
@@ -228,7 +228,7 @@ function fifu_get_setting($type) {
228
  $arr1 = array('fifu_spinner_nth');
229
  $arrEmpty = array('fifu_default_url', 'fifu_skip');
230
  $arrDefaultType = array('fifu_default_cpt');
231
- $arr64 = array('fifu_column_height');
232
  $arr1000 = array('fifu_spinner_db');
233
  $arrOn = array('fifu_wc_zoom', 'fifu_wc_lbox');
234
  $arrOnNo = array('fifu_fake', 'fifu_social');
@@ -241,8 +241,8 @@ function fifu_get_setting($type) {
241
  update_option($type, 1);
242
  else if (in_array($type, $arrDefaultType))
243
  update_option($type, "post,page,product", 'no');
244
- else if (in_array($type, $arr64))
245
- update_option($type, "64", 'no');
246
  else if (in_array($type, $arr1000))
247
  update_option($type, 1000, 'no');
248
  else if (in_array($type, $arrOn))
228
  $arr1 = array('fifu_spinner_nth');
229
  $arrEmpty = array('fifu_default_url', 'fifu_skip');
230
  $arrDefaultType = array('fifu_default_cpt');
231
+ $arr40 = array('fifu_column_height');
232
  $arr1000 = array('fifu_spinner_db');
233
  $arrOn = array('fifu_wc_zoom', 'fifu_wc_lbox');
234
  $arrOnNo = array('fifu_fake', 'fifu_social');
241
  update_option($type, 1);
242
  else if (in_array($type, $arrDefaultType))
243
  update_option($type, "post,page,product", 'no');
244
+ else if (in_array($type, $arr40))
245
+ update_option($type, "40", 'no');
246
  else if (in_array($type, $arr1000))
247
  update_option($type, 1000, 'no');
248
  else if (in_array($type, $arrOn))
admin/strings.php CHANGED
@@ -327,8 +327,8 @@ function fifu_get_strings_settings() {
327
  $fifu['title']['width'] = function() {
328
  _e("Minimum Width", FIFU_SLUG);
329
  };
330
- $fifu['title']['black'] = function() {
331
- _e("Black Background", FIFU_SLUG);
332
  };
333
  $fifu['title']['mouseover'] = function() {
334
  _e("Mouseover Autoplay", FIFU_SLUG);
@@ -1341,10 +1341,9 @@ function fifu_get_strings_settings() {
1341
  };
1342
 
1343
  // black
1344
- $fifu['black']['desc'] = function() {
1345
- _e("Unlike Youtube, Vimeo videos can't fit a theme area without generating a vertical padding. Here you can change the background color from transparent to black.", FIFU_SLUG);
1346
  };
1347
-
1348
  // mouseover
1349
  $fifu['mouseover']['desc'] = function() {
1350
  _e("Play a video on \"mouseover\" and pause on \"mouseout\".", FIFU_SLUG);
@@ -1807,6 +1806,9 @@ function fifu_get_strings_quick_edit() {
1807
  };
1808
 
1809
  // tips
 
 
 
1810
  $fifu['tip']['image'] = function() {
1811
  return __("Set the featured image using an image URL", FIFU_SLUG);
1812
  };
@@ -1955,7 +1957,7 @@ function fifu_get_strings_cloud() {
1955
  _e("A big disadvantage of having external images embedded on your website is that you don't have thumbnails. Without thumbnails, your website loads the same huge image file on desktop or mobile, post or homepage. And sometimes the image is not optimized or is hosted on a slow server. FIFU Cloud solves all those problems by storing and serving optimized thumbnails from a fast CDN. Your visitors receive on each accessed page only the smallest image files necessary to display the images without quality loss. And the smaller the files, the faster the images are rendered.");
1956
  };
1957
  $fifu['support']['process-desc'] = function() {
1958
- _e("Websites were not made to process images. But when you save an image in the media library, the WordPress core and even your theme and plugins start threads to process the image locally, converting, duplicating, rotating, resizing, cropping, compressing, etc. Depending on the number of images, it can take days and eventually the website needs to repeat the whole process again. It consumes a lot of storage, memory and processing, which can make the website slow for the users. But FIFU Cloud doesn't use your computing resources. We process your images 100% in Google Cloud servers. The power of the cloud allows us to process and store thousands of images simultaneously in seconds.");
1959
  };
1960
  $fifu['support']['price-desc'] = function() {
1961
  _e("Similar cloud services often charge for the amount of hits to the images. Or they sell static plans where you pay for the amount of storage available, even if unused. But FIFU Cloud charges only for the daily average of stored images, every 30-day period. You don't pay for thumbnails. Example: on the first day, you stored 1000 images; ten days later, you deleted them all; ten days later, you added 1100, which were stored for ten days. So, on average, you used 700 images per day in a 30-day period and you will pay $3.50. If there are no changes in the next period, the average will be 1100 and the paid value will be $4.95. And if in the following period you remove all the images, there will be no cost.");
@@ -1998,6 +2000,9 @@ function fifu_get_strings_cloud() {
1998
  $fifu['pricing']['table']['price'] = function() {
1999
  _e("Price per image");
2000
  };
 
 
 
2001
  $fifu['pricing']['table']['total'] = function() {
2002
  _e("Total price");
2003
  };
@@ -2027,6 +2032,9 @@ function fifu_get_strings_cloud() {
2027
  $fifu['billing']['current'] = function() {
2028
  _e("Current 30-day period");
2029
  };
 
 
 
2030
  $fifu['billing']['column']['start'] = function() {
2031
  _e("start date");
2032
  };
327
  $fifu['title']['width'] = function() {
328
  _e("Minimum Width", FIFU_SLUG);
329
  };
330
+ $fifu['title']['controls'] = function() {
331
+ _e("Video Controls", FIFU_SLUG);
332
  };
333
  $fifu['title']['mouseover'] = function() {
334
  _e("Mouseover Autoplay", FIFU_SLUG);
1341
  };
1342
 
1343
  // black
1344
+ $fifu['controls']['desc'] = function() {
1345
+ _e("You can disable video controls here.", FIFU_SLUG);
1346
  };
 
1347
  // mouseover
1348
  $fifu['mouseover']['desc'] = function() {
1349
  _e("Play a video on \"mouseover\" and pause on \"mouseout\".", FIFU_SLUG);
1806
  };
1807
 
1808
  // tips
1809
+ $fifu['tip']['column'] = function() {
1810
+ return __("Quick edit", FIFU_SLUG);
1811
+ };
1812
  $fifu['tip']['image'] = function() {
1813
  return __("Set the featured image using an image URL", FIFU_SLUG);
1814
  };
1957
  _e("A big disadvantage of having external images embedded on your website is that you don't have thumbnails. Without thumbnails, your website loads the same huge image file on desktop or mobile, post or homepage. And sometimes the image is not optimized or is hosted on a slow server. FIFU Cloud solves all those problems by storing and serving optimized thumbnails from a fast CDN. Your visitors receive on each accessed page only the smallest image files necessary to display the images without quality loss. And the smaller the files, the faster the images are rendered.");
1958
  };
1959
  $fifu['support']['process-desc'] = function() {
1960
+ _e("Websites were not made to process images. But when you save an image in the media library, the WordPress core and even your theme and plugins start threads to process the image locally, converting, duplicating, rotating, resizing, cropping, compressing, etc. Depending on the number of images, it can take weeks and eventually the website needs to repeat the whole process again. It consumes a lot of storage, memory and processing, which can make the website slow for the users. But FIFU Cloud doesn't use your computing resources. We process your images 100% in Google Cloud servers. The power of the cloud allows us to process and store thousands of images simultaneously in seconds.");
1961
  };
1962
  $fifu['support']['price-desc'] = function() {
1963
  _e("Similar cloud services often charge for the amount of hits to the images. Or they sell static plans where you pay for the amount of storage available, even if unused. But FIFU Cloud charges only for the daily average of stored images, every 30-day period. You don't pay for thumbnails. Example: on the first day, you stored 1000 images; ten days later, you deleted them all; ten days later, you added 1100, which were stored for ten days. So, on average, you used 700 images per day in a 30-day period and you will pay $3.50. If there are no changes in the next period, the average will be 1100 and the paid value will be $4.95. And if in the following period you remove all the images, there will be no cost.");
2000
  $fifu['pricing']['table']['price'] = function() {
2001
  _e("Price per image");
2002
  };
2003
+ $fifu['pricing']['table']['tier'] = function() {
2004
+ _e("Yours");
2005
+ };
2006
  $fifu['pricing']['table']['total'] = function() {
2007
  _e("Total price");
2008
  };
2032
  $fifu['billing']['current'] = function() {
2033
  _e("Current 30-day period");
2034
  };
2035
+ $fifu['billing']['tiers'] = function() {
2036
+ _e("Tiers");
2037
+ };
2038
  $fifu['billing']['column']['start'] = function() {
2039
  _e("start date");
2040
  };
featured-image-from-url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Featured Image from URL (FIFU)
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image/video as featured image/video of a post or WooCommerce product.
7
- * Version: 3.9.3
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
4
  * Plugin Name: Featured Image from URL (FIFU)
5
  * Plugin URI: https://fifu.app/
6
  * Description: Use an external image/video as featured image/video of a post or WooCommerce product.
7
+ * Version: 3.9.4
8
  * Author: fifu.app
9
  * Author URI: https://fifu.app/
10
  * WC requires at least: 4.0
includes/attachment.php CHANGED
@@ -321,6 +321,10 @@ function fifu_add_url_parameters($url, $att_id, $size) {
321
  if (!$post_id)
322
  return $url;
323
 
 
 
 
 
324
  $post_thumbnail_id = get_post_thumbnail_id($post_id);
325
  $post_thumbnail_id = $post_thumbnail_id ? $post_thumbnail_id : get_term_meta($post_id, 'thumbnail_id', true);
326
  $featured = $post_thumbnail_id == $att_id ? 1 : 0;
321
  if (!$post_id)
322
  return $url;
323
 
324
+ // "categories" page
325
+ if (function_exists('get_current_screen') && isset(get_current_screen()->parent_file) && get_current_screen()->parent_file == 'edit.php?post_type=product' && get_current_screen()->id == 'edit-product_cat')
326
+ return fifu_optimized_column_image($url);
327
+
328
  $post_thumbnail_id = get_post_thumbnail_id($post_id);
329
  $post_thumbnail_id = $post_thumbnail_id ? $post_thumbnail_id : get_term_meta($post_id, 'thumbnail_id', true);
330
  $featured = $post_thumbnail_id == $att_id ? 1 : 0;
includes/html/js/image.js CHANGED
@@ -44,6 +44,10 @@ var observer = new MutationObserver(function (mutations) {
44
  // ignore WooCommerce zoom
45
  if (!jQuery(node).hasClass('pswp__zoom-wrap')) {
46
  jQuery(node).find('img').each(function (index) {
 
 
 
 
47
  fifu_lazy_ajax(this);
48
  });
49
  }
44
  // ignore WooCommerce zoom
45
  if (!jQuery(node).hasClass('pswp__zoom-wrap')) {
46
  jQuery(node).find('img').each(function (index) {
47
+ // dont touch on slider
48
+ if (jQuery(this).attr('src') == 'null' || jQuery(this).hasClass('lazyload'))
49
+ return;
50
+
51
  fifu_lazy_ajax(this);
52
  });
53
  }
includes/jetpack.php CHANGED
@@ -31,7 +31,7 @@ function fifu_jetpack_blocked($url) {
31
  if (fifu_is_photon_url($url))
32
  return true;
33
 
34
- $blocklist = array('amazon-adsystem.com', 'sapo.io', 'unsplash.com', 'i.guim.co.uk', 's.yimg.com', 's1.yimg.com', 'www.washingtonpost.com', 'pbs.twimg.com', 'www.aljazeera.com', 'image.influenster.com', 'api.screenshotmachine.com', 'rackcdn.com', 'googleusercontent.com', 'drive.google.com');
35
  foreach ($blocklist as $domain) {
36
  if (strpos($url, $domain) !== false)
37
  return true;
@@ -58,7 +58,7 @@ function fifu_is_photon_url($url) {
58
  }
59
 
60
  function fifu_jetpack_photon_url($url, $args) {
61
- if (fifu_is_photon_url($url))
62
  return $url;
63
 
64
  if (fifu_ends_with($url, '.svg'))
31
  if (fifu_is_photon_url($url))
32
  return true;
33
 
34
+ $blocklist = array('amazon-adsystem.com', 'sapo.io', 'unsplash.com', 'i.guim.co.uk', 's.yimg.com', 's1.yimg.com', 'www.washingtonpost.com', 'pbs.twimg.com', 'www.aljazeera.com', 'image.influenster.com', 'api.screenshotmachine.com', 'rackcdn.com', 'googleusercontent.com', 'drive.google.com', 'cdn.fifu.app', 'cloud.fifu.app');
35
  foreach ($blocklist as $domain) {
36
  if (strpos($url, $domain) !== false)
37
  return true;
58
  }
59
 
60
  function fifu_jetpack_photon_url($url, $args) {
61
+ if (fifu_jetpack_blocked($url))
62
  return $url;
63
 
64
  if (fifu_ends_with($url, '.svg'))
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://donorbox.org/fifu
4
  Tags: featured, image, url, video, woocommerce
5
  Requires at least: 5.3
6
  Tested up to: 5.9.3
7
- Stable tag: 3.9.3
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -92,7 +92,7 @@ Supports videos from YouTube, Vimeo, Imgur, 9GAG, Cloudinary, Tumblr, Publitio,
92
  * **[PRO]** Video thumbnail
93
  * **[PRO]** Play button
94
  * **[PRO]** Minimum width
95
- * **[PRO]** Black background
96
  * **[PRO]** Mouseover autoplay
97
  * **[PRO]** Autoplay
98
  * **[PRO]** Loop
@@ -227,20 +227,20 @@ Featured Image, Figurë e Zgjedhur, Image mise en avant, Uitgelichte afbeelding,
227
 
228
  == Changelog ==
229
 
 
 
 
230
  = 3.9.3 =
231
  * Enhancement: Featured Video (supports VideoPress now); fix: Social Tags (were being added to the front page); fix: conflict with Rank Math SEO plugin.
232
 
233
  = 3.9.2 =
234
  * News: FIFU Cloud (Smart Crop, Hotlink Protection and Pricing).
235
 
236
- = 3.9.1 =
237
- * New option: Auto set featured media from post content > skip URLs with.
238
-
239
  = others =
240
  * [more](https://fifu.app/changelog)
241
 
242
 
243
  == Upgrade Notice ==
244
 
245
- = 3.9.3 =
246
- * Enhancement: Featured Video (supports VideoPress now); fix: Social Tags (were being added to the front page); fix: conflict with Rank Math SEO plugin.
4
  Tags: featured, image, url, video, woocommerce
5
  Requires at least: 5.3
6
  Tested up to: 5.9.3
7
+ Stable tag: 3.9.4
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
92
  * **[PRO]** Video thumbnail
93
  * **[PRO]** Play button
94
  * **[PRO]** Minimum width
95
+ * **[PRO]** Video controls
96
  * **[PRO]** Mouseover autoplay
97
  * **[PRO]** Autoplay
98
  * **[PRO]** Loop
227
 
228
  == Changelog ==
229
 
230
+ = 3.9.4 =
231
+ * New feature: Video Controls; enhancement: CDN + Optimized Thumbnails (works on Product Categories page now); deprecated: Black Background; fix: Quick Edit Column (style issues).
232
+
233
  = 3.9.3 =
234
  * Enhancement: Featured Video (supports VideoPress now); fix: Social Tags (were being added to the front page); fix: conflict with Rank Math SEO plugin.
235
 
236
  = 3.9.2 =
237
  * News: FIFU Cloud (Smart Crop, Hotlink Protection and Pricing).
238
 
 
 
 
239
  = others =
240
  * [more](https://fifu.app/changelog)
241
 
242
 
243
  == Upgrade Notice ==
244
 
245
+ = 3.9.4 =
246
+ * New feature: Video Controls; enhancement: CDN + Optimized Thumbnails (works on Product Categories page now); deprecated: Black Background; fix: Quick Edit Column (style issues).