a3 Lazy Load - Version 2.3.0

Version Description

This feature release adds support for horizontal scroll images plus a bug fix for compatibility with Revolution Slider

Download this release

Release Info

Developer a3rev
Plugin Icon 128x128 a3 Lazy Load
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.2 to 2.3.0

a3-lazy-load.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
- Version: 2.2.2
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.9
@@ -10,7 +10,7 @@ Tested up to: 5.3.2
10
  Text Domain: a3-lazy-load
11
  Domain Path: /languages
12
  WC requires at least: 2.0.0
13
- WC tested up to: 3.8.1
14
  License: GPLv2 or later
15
  Copyright © 2011 a3 Revolution Software Development team
16
  a3 Revolution Software Development team
@@ -33,7 +33,7 @@ define('A3_LAZY_LOAD_IMAGES_URL', A3_LAZY_LOAD_URL . '/assets/images');
33
 
34
  define( 'A3_LAZY_LOAD_KEY', 'a3_lazy_load' );
35
  define( 'A3_LAZY_LOAD_PREFIX', 'a3_lazy_load_' );
36
- define( 'A3_LAZY_VERSION', '2.2.2' );
37
  define( 'A3_LAZY_LOAD_G_FONTS', false );
38
 
39
  use \A3Rev\LazyLoad\FrameWork;
2
  /*
3
  Plugin Name: a3 Lazy Load
4
  Description: Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
5
+ Version: 2.3.0
6
  Author: a3rev Software
7
  Author URI: https://a3rev.com/
8
  Requires at least: 4.9
10
  Text Domain: a3-lazy-load
11
  Domain Path: /languages
12
  WC requires at least: 2.0.0
13
+ WC tested up to: 3.9.2
14
  License: GPLv2 or later
15
  Copyright © 2011 a3 Revolution Software Development team
16
  a3 Revolution Software Development team
33
 
34
  define( 'A3_LAZY_LOAD_KEY', 'a3_lazy_load' );
35
  define( 'A3_LAZY_LOAD_PREFIX', 'a3_lazy_load_' );
36
+ define( 'A3_LAZY_VERSION', '2.3.0' );
37
  define( 'A3_LAZY_LOAD_G_FONTS', false );
38
 
39
  use \A3Rev\LazyLoad\FrameWork;
admin/settings/template-settings/global-settings.php CHANGED
@@ -338,6 +338,19 @@ class Global_Panel extends FrameWork\Admin_UI
338
  'type' => 'text',
339
  'default' => ""
340
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
341
 
342
 
343
  array(
338
  'type' => 'text',
339
  'default' => ""
340
  ),
341
+ array(
342
+ 'name' => __( 'Horizontal Scroll', 'a3-lazy-load' ),
343
+ 'type' => 'heading',
344
+ 'class' => 'a3l_apply_to_load_images_container',
345
+ 'desc' => __( 'a3 Lazy Load has built in support for Horizontal Scrolling image galleries BUT you must enter the container classname or ID below for it to apply to that horizontal scroll container. Use your code inspector to get the correct classname or ID, it will have style is <code>overflow-x:scroll</code>', 'a3-lazy-load' )
346
+ ),
347
+ array(
348
+ 'name' => __( 'Container Classnames or IDs', 'a3-lazy-load' ),
349
+ 'id' => 'a3l_horizontal_trigger_classnames',
350
+ 'desc' => __('Prepend Classnames with a dot example <code>.images_holder</code>, Prepend IDs with hash tag example <code>#wrapper</code> and Comma separate if more than one.', 'a3-lazy-load' ),
351
+ 'type' => 'text',
352
+ 'default' => ""
353
+ ),
354
 
355
 
356
  array(
assets/js/jquery.lazyloadxt.extend.js CHANGED
@@ -1,6 +1,9 @@
1
  jQuery.lazyLoadXT.updateEvent = 'load orientationchange resize scroll touchmove focus click customlazyloadxtevent';
2
  jQuery.lazyLoadXT.edgeY = a3_lazyload_extend_params.edgeY;
3
  jQuery.lazyLoadXT.srcsetExtended = false;
 
 
 
4
 
5
  jQuery( document ).ready( function( $ ) {
6
  jQuery(document).on( 'mouseenter', '.site-header-cart', function() {
1
  jQuery.lazyLoadXT.updateEvent = 'load orientationchange resize scroll touchmove focus click customlazyloadxtevent';
2
  jQuery.lazyLoadXT.edgeY = a3_lazyload_extend_params.edgeY;
3
  jQuery.lazyLoadXT.srcsetExtended = false;
4
+ if ( typeof a3_lazyload_extend_params.horizontal_container_classnames !== 'undefined' && '' !== a3_lazyload_extend_params.horizontal_container_classnames ) {
5
+ jQuery.lazyLoadXT.scrollContainer = a3_lazyload_extend_params.horizontal_container_classnames;
6
+ }
7
 
8
  jQuery( document ).ready( function( $ ) {
9
  jQuery(document).on( 'mouseenter', '.site-header-cart', function() {
classes/class-a3-lazy-load.php CHANGED
@@ -75,6 +75,9 @@ class LazyLoad
75
  $this->_skip_images_classes = array( 'skip-lazy', 'a3-notlazy' );
76
  }
77
 
 
 
 
78
  if ( $a3_lazy_load_global_settings['a3l_apply_to_images'] == true ) {
79
  add_filter( 'a3_lazy_load_images', array( $this, 'filter_images' ), 10, 2 );
80
 
@@ -110,6 +113,9 @@ class LazyLoad
110
  $this->_skip_videos_classes = array( 'skip-lazy', 'a3-notlazy', 'wp-video-shortcode' );
111
  }
112
 
 
 
 
113
  if ( $a3_lazy_load_global_settings['a3l_apply_to_videos'] == true ) {
114
  add_filter( 'a3_lazy_load_videos', array( $this, 'filter_videos' ), 10, 2 );
115
 
@@ -198,8 +204,17 @@ class LazyLoad
198
  }
199
 
200
  if ( wp_script_is( 'jquery-lazyloadxt-extend' ) ) {
 
 
 
 
 
 
 
 
201
  wp_localize_script( 'jquery-lazyloadxt-extend', 'a3_lazyload_extend_params', apply_filters( 'a3_lazyload_extend_params', array(
202
- 'edgeY' => (int) $a3_lazy_load_global_settings['a3l_edgeY'],
 
203
  ) ) );
204
  }
205
  }
75
  $this->_skip_images_classes = array( 'skip-lazy', 'a3-notlazy' );
76
  }
77
 
78
+ // Fix the confliction with Rev Slider
79
+ $this->_skip_images_classes = array_merge( array( 'rev-slidebg' ), $this->_skip_images_classes );
80
+
81
  if ( $a3_lazy_load_global_settings['a3l_apply_to_images'] == true ) {
82
  add_filter( 'a3_lazy_load_images', array( $this, 'filter_images' ), 10, 2 );
83
 
113
  $this->_skip_videos_classes = array( 'skip-lazy', 'a3-notlazy', 'wp-video-shortcode' );
114
  }
115
 
116
+ // Fix the confliction with Rev Slider
117
+ $this->_skip_videos_classes = array_merge( array( 'rev-slidebg' ), $this->_skip_videos_classes );
118
+
119
  if ( $a3_lazy_load_global_settings['a3l_apply_to_videos'] == true ) {
120
  add_filter( 'a3_lazy_load_videos', array( $this, 'filter_videos' ), 10, 2 );
121
 
204
  }
205
 
206
  if ( wp_script_is( 'jquery-lazyloadxt-extend' ) ) {
207
+ $horizontal_container_classnames = '';
208
+ if ( ! empty( $a3_lazy_load_global_settings['a3l_horizontal_trigger_classnames'] ) ) {
209
+ $horizontal_trigger_classnames = explode(',', $a3_lazy_load_global_settings['a3l_horizontal_trigger_classnames'] );
210
+ $horizontal_trigger_classnames = array_map( 'trim', $horizontal_trigger_classnames );
211
+ $horizontal_trigger_classnames = array_filter( $horizontal_trigger_classnames );
212
+ $horizontal_container_classnames = implode(',', $horizontal_trigger_classnames );
213
+ }
214
+
215
  wp_localize_script( 'jquery-lazyloadxt-extend', 'a3_lazyload_extend_params', apply_filters( 'a3_lazyload_extend_params', array(
216
+ 'edgeY' => (int) $a3_lazy_load_global_settings['a3l_edgeY'],
217
+ 'horizontal_container_classnames' => $horizontal_container_classnames
218
  ) ) );
219
  }
220
  }
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === a3 Lazy Load ===
2
  Contributors: a3rev, a3rev Software, nguyencongtuan
3
- Tags: a3 lazy load, Lazy Loading , image lazy load, lazyload
4
  Requires at least: 4.9
5
  Tested up to: 5.3.2
6
- Stable tag: 2.2.2
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -26,18 +26,22 @@ Images are the number one element that slows page load and increases bandwidth u
26
  * Apply to post thumbnails
27
  * Apply to gravatars
28
 
 
 
 
 
29
  = MORE THAN JUST IMAGES =
30
 
31
  = VIDEO LAZY LOAD =
32
 
33
  a3 Lazy Load supports all WordPress video Embeds including Youtube, Vimeo and HTML5 video - for a full list see the [WordPress Codex Embeds](http://codex.wordpress.org/Embeds) list. The WordPress embed method of copying and pasting the video url into posts and pages content area is fully supported.
34
 
35
- <strong>Note</strong> - Works with Videos added by Text and HTML Widgets but not the new WordPress Video widget. That widget does not pull iframe at first load, it use JavaScript to replace html to iframe and hence a3 lazy Load can't see it to apply.
36
 
37
  From the a3 lazy Load admin panel turn Video Support ON | OFF. When ON you can choose to ON | OFF lazy load for videos in
38
 
39
  * Video embeded by URL in Post and Pages (All Content areas)
40
- * Video in Widget types, Text Widget and HTML Wigets.
41
  * Youtube [see demo](http://ressio.github.io/lazy-load-xt/demo/youtube-iframe.htm)
42
  * Video [see demo](http://ressio.github.io/lazy-load-xt/demo/video-html5.htm)
43
  * Fully Compatible with the popular [Youtube Embed Plugin](https://wordpress.org/plugins/youtube-embed/)
@@ -65,20 +69,12 @@ a3 Lazy Load has built in support for content that is added by iframe from any s
65
 
66
  = JETPACK SITE ACCELERATOR (Proton) =
67
 
68
- This is an option that you turn on as the Jetpack Accelerator (Proton CDN images) has its own lazy load feature that needs to be OFF first to be able use a3 Lazy Load as your lazy Load engine. Some users prefer to use a3 Lazy Load as it applies Lazy Load to the whole site not just images.
69
 
70
  = WebP IMAGES =
71
 
72
- As of a3 Lazy Load has built in automatic support for WebP images. There are no settings for this as a3 Lazy Load will automatically detect if an image has a WebP version and load that. If no WebP image exists the appropriate jpg or png version will be loaded. Also fully support browser detection of WebP.
73
-
74
-
75
- = WOOCOMMERCE =
76
 
77
- a3 lazy Load is built and tested to be fully compatible with the very widely used WooCommerce plugin
78
-
79
- = ADVANCED CUSTOM FIELDS =
80
-
81
- Fully compatible with the very popular Advanced Custom Fields plugin, Free and Premium versions.
82
 
83
  = LAZY LOAD EFFECTS =
84
 
@@ -114,10 +110,12 @@ Don't forget when a developer does add full compatibility with a3 Lazy Load plea
114
 
115
  These are just some of the more popular plugins that are either tested 100% compatible with a3 Lazy Load or tags has been added for 100% compatibility.
116
 
117
- * Plugin - Advanced Custom Fields
118
  * Plugin - WooCommerce
 
 
119
  * Plugin - WP Offload
120
- * Plugin - WP Super Cache and W3 Total Cache plugins
121
  * Plugin - Youtube Embed
122
  * Plugin - WordPress AMP
123
  * Plugin - WPTouch. Note - Set to not apply on Mobiles if WPTouch is installed
@@ -206,6 +204,13 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
206
 
207
  == Changelog ==
208
 
 
 
 
 
 
 
 
209
  = 2.2.2 - 2020/01/18 =
210
  * This maintenance release is to update incorrect help text regarding usage of the new class and attribute exclusion strings
211
  * Tweak - Update incorrect FQA help text on plugins description
@@ -475,6 +480,9 @@ Filter tags to add to class name of theme to exclude lazy load on images or vide
475
 
476
  == Upgrade Notice ==
477
 
 
 
 
478
  = 2.2.2 =
479
  This maintenance release is to update incorrect help text regarding usage of the new class and attribute exclusion strings
480
 
1
  === a3 Lazy Load ===
2
  Contributors: a3rev, a3rev Software, nguyencongtuan
3
+ Tags: a3 lazy load, Lazy Loading, image lazy load, lazyload
4
  Requires at least: 4.9
5
  Tested up to: 5.3.2
6
+ Stable tag: 2.3.0
7
  License: GPLv3
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
26
  * Apply to post thumbnails
27
  * Apply to gravatars
28
 
29
+ = HORIZONTAL SCROLL =
30
+
31
+ Supports lazy loading of images in containers that use horizontal scroll. The admin Images options has a section where you enter the classname or ID of the container that uses horizontal scroll.
32
+
33
  = MORE THAN JUST IMAGES =
34
 
35
  = VIDEO LAZY LOAD =
36
 
37
  a3 Lazy Load supports all WordPress video Embeds including Youtube, Vimeo and HTML5 video - for a full list see the [WordPress Codex Embeds](http://codex.wordpress.org/Embeds) list. The WordPress embed method of copying and pasting the video url into posts and pages content area is fully supported.
38
 
39
+ <strong>Note</strong> - Works with Videos added by Text and HTML Widgets but not the new WordPress Video widget. That widget does not pull iframe at first load, it uses JavaScript to replace html to iframe and hence a3 lazy Load can't see it to apply.
40
 
41
  From the a3 lazy Load admin panel turn Video Support ON | OFF. When ON you can choose to ON | OFF lazy load for videos in
42
 
43
  * Video embeded by URL in Post and Pages (All Content areas)
44
+ * Video in Widget types, Text Widget and HTML Widgets.
45
  * Youtube [see demo](http://ressio.github.io/lazy-load-xt/demo/youtube-iframe.htm)
46
  * Video [see demo](http://ressio.github.io/lazy-load-xt/demo/video-html5.htm)
47
  * Fully Compatible with the popular [Youtube Embed Plugin](https://wordpress.org/plugins/youtube-embed/)
69
 
70
  = JETPACK SITE ACCELERATOR (Proton) =
71
 
72
+ This is an option that you turn on as the Jetpack Accelerator (Proton CDN images) has its own lazy load feature that needs to be OFF first to be able use a3 Lazy Load as your lazy Load engine. Some users prefer to use a3 Lazy Load as it applies Lazy Load to videos and iframes as well as images.
73
 
74
  = WebP IMAGES =
75
 
76
+ a3 Lazy Load has built in automatic support for WebP images. There are no settings for this as a3 Lazy Load will automatically detect if an image has a WebP version and lazy load the WebP version. If no WebP image exists, the appropriate jpg or png version will be lazy loaded. Also fully support browser detection of WebP.
 
 
 
77
 
 
 
 
 
 
78
 
79
  = LAZY LOAD EFFECTS =
80
 
110
 
111
  These are just some of the more popular plugins that are either tested 100% compatible with a3 Lazy Load or tags has been added for 100% compatibility.
112
 
113
+ * Plugin - Advanced Custom Fields (Free and Premium)
114
  * Plugin - WooCommerce
115
+ * Plugin - JetPack
116
+ * Plugin - Elementor (Free and Pro)
117
  * Plugin - WP Offload
118
+ * Plugin - WP Super Cache, W3 Total Cache, Autoptimize
119
  * Plugin - Youtube Embed
120
  * Plugin - WordPress AMP
121
  * Plugin - WPTouch. Note - Set to not apply on Mobiles if WPTouch is installed
204
 
205
  == Changelog ==
206
 
207
+ = 2.3.0 - 2020/02/25 =
208
+ * This feature release adds support for horizontal scroll images plus a bug fix for compatibility with Revolution Slider
209
+ * Feature - Add support for lazy loading images in a container that have horizontal scroll
210
+ * Feature - Add Horizontal Scroll section to the Lazy Load Images option box on the admin panel
211
+ * Feature - Apply Horizontal Scroll lazy load to any container by classname or ID
212
+ * Fix - Compatibility with Revolution slider. Their JS has changed in a resent update causing a conflict which meant that the slider images did not show with a3 Lazy Load activated.
213
+
214
  = 2.2.2 - 2020/01/18 =
215
  * This maintenance release is to update incorrect help text regarding usage of the new class and attribute exclusion strings
216
  * Tweak - Update incorrect FQA help text on plugins description
480
 
481
  == Upgrade Notice ==
482
 
483
+ = 2.3.0 =
484
+ This feature release adds support for horizontal scroll images plus a bug fix for compatibility with Revolution Slider
485
+
486
  = 2.2.2 =
487
  This maintenance release is to update incorrect help text regarding usage of the new class and attribute exclusion strings
488