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 | 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 +3 -3
- admin/settings/template-settings/global-settings.php +13 -0
- assets/js/jquery.lazyloadxt.extend.js +3 -0
- classes/class-a3-lazy-load.php +16 -1
- readme.txt +24 -16
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.
|
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.
|
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.
|
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'
|
|
|
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
|
4 |
Requires at least: 4.9
|
5 |
Tested up to: 5.3.2
|
6 |
-
Stable tag: 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
|
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
|
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
|
69 |
|
70 |
= WebP IMAGES =
|
71 |
|
72 |
-
|
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
|
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 |
|