a3 Lazy Load - Version 1.0.1

Version Description

  • 2014/12/23 =
  • Tweak - Applied lazy load for 'wp_get_attachment_image_attributes' filter tag for WordPress default [gallery] shortcode
  • Tweak - Added link to a3 Lazy Load wordpress.org support forum on plugins description that show on plugins menu
  • Dev - Defined 'a3_lazy_load_enable' function when Enable Lazy Load is set to ON. Plugin and Theme developers can use the function to edit their image attribute so that a3 lazy load script can apply to the images.
  • Dev - Defined 'a3_lazy_load_skip_classes' filter tag. Developers can add another class css name for images that they don't want lazy load applied too.
  • Fix - Lazy Load does not apply to images added by shortcode, excluding the WordPress default [gallery] shortcode
Download this release

Release Info

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

Code changes from version 1.0.0 to 1.0.1

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: 1.0.0
6
Author: a3 Revolution
7
Author URI: http://www.a3rev.com/
8
Requires at least: 3.8
@@ -17,7 +17,7 @@ License: GPLv2 or later
17
*/
18
?>
19
<?php
20
- define('A3_LAZY_VERSION', '1.0.0');
21
define('A3_LAZY_LOAD_FILE_PATH', dirname(__FILE__));
22
define('A3_LAZY_LOAD_DIR_NAME', basename(A3_LAZY_LOAD_FILE_PATH));
23
define('A3_LAZY_LOAD_FOLDER', dirname(plugin_basename(__FILE__)));
@@ -43,6 +43,14 @@ include( 'classes/class-a3-lazy-load-filter.php' );
43
44
include( 'admin/a3-lazy-load-admin.php' );
45
46
/**
47
* Call when the plugin is activated
48
*/
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: 1.0.1
6
Author: a3 Revolution
7
Author URI: http://www.a3rev.com/
8
Requires at least: 3.8
17
*/
18
?>
19
<?php
20
+ define('A3_LAZY_VERSION', '1.0.1');
21
define('A3_LAZY_LOAD_FILE_PATH', dirname(__FILE__));
22
define('A3_LAZY_LOAD_DIR_NAME', basename(A3_LAZY_LOAD_FILE_PATH));
23
define('A3_LAZY_LOAD_FOLDER', dirname(plugin_basename(__FILE__)));
43
44
include( 'admin/a3-lazy-load-admin.php' );
45
46
+ // Defined this function for check Lazy Load is enabled that 3rd party plugins or theme can use to check
47
+ $a3_lazy_load_global_settings = get_option( 'a3_lazy_load_global_settings', array( 'a3l_apply_to_loadimages' => 1 ) );
48
+ if ( 1 == $a3_lazy_load_global_settings['a3l_apply_to_loadimages'] ) {
49
+ function a3_lazy_load_enable() {
50
+ return true;
51
+ }
52
+ }
53
+
54
/**
55
* Call when the plugin is activated
56
*/
admin/a3-lazy-load-admin.php CHANGED
@@ -2,7 +2,7 @@
2
update_option('a3rev_lazy_load_plugin', 'a3_lazy_load');
3
4
function a3_lazy_load_activated(){
5
- update_option('a3_lazy_load_version', '1.0.0');
6
7
// Set Settings Default from Admin Init
8
global $a3_lazy_load_admin_init;
@@ -25,7 +25,7 @@ function a3_lazy_load_init() {
25
26
load_plugin_textdomain( 'a3_lazy_load', false, A3_LAZY_LOAD_FOLDER.'/languages' );
27
28
- update_option('a3_lazy_load_version', '1.0.0');
29
}
30
31
global $a3_lazy_load_admin_init;
2
update_option('a3rev_lazy_load_plugin', 'a3_lazy_load');
3
4
function a3_lazy_load_activated(){
5
+ update_option('a3_lazy_load_version', '1.0.1');
6
7
// Set Settings Default from Admin Init
8
global $a3_lazy_load_admin_init;
25
26
load_plugin_textdomain( 'a3_lazy_load', false, A3_LAZY_LOAD_FOLDER.'/languages' );
27
28
+ update_option('a3_lazy_load_version', '1.0.1');
29
}
30
31
global $a3_lazy_load_admin_init;
classes/class-a3-lazy-load.php CHANGED
@@ -42,15 +42,15 @@ class A3_Lazy_Load
42
add_filter( 'a3_lazy_load_html', array( $this, 'filter' ), 10, 1 );
43
add_filter( 'a3_lazy_load_images', array( $this, 'filter' ), 10, 1 );
44
45
- $skip_classes = $a3_lazy_load_global_settings['a3l_skip_image_with_class'];
46
if ( strlen( trim( $skip_classes ) ) ) {
47
- $this->_skip_classes = array_map( 'trim', explode( ',', $a3_lazy_load_global_settings['a3l_skip_image_with_class'] ) );
48
}
49
50
$this->_placeholder_url = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
51
52
if ( $a3_lazy_load_global_settings['a3l_apply_to_content'] == true ) {
53
- add_filter( 'the_content', array( $this, 'filter' ), 200 );
54
}
55
if ( $a3_lazy_load_global_settings['a3l_apply_to_textwidget'] == true ) {
56
add_filter( 'widget_text', array( $this, 'filter' ), 200 );
@@ -143,6 +143,24 @@ class A3_Lazy_Load
143
return false;
144
}
145
146
static function filter( $content ) {
147
if( is_admin() ){
148
return $content;
42
add_filter( 'a3_lazy_load_html', array( $this, 'filter' ), 10, 1 );
43
add_filter( 'a3_lazy_load_images', array( $this, 'filter' ), 10, 1 );
44
45
+ $skip_classes = apply_filters( 'a3_lazy_load_skip_classes', $a3_lazy_load_global_settings['a3l_skip_image_with_class'] );
46
if ( strlen( trim( $skip_classes ) ) ) {
47
+ $this->_skip_classes = array_map( 'trim', explode( ',', $skip_classes ) );
48
}
49
50
$this->_placeholder_url = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';
51
52
if ( $a3_lazy_load_global_settings['a3l_apply_to_content'] == true ) {
53
+ add_filter( 'the_content', array( $this, 'filter_content' ), 7 );
54
}
55
if ( $a3_lazy_load_global_settings['a3l_apply_to_textwidget'] == true ) {
56
add_filter( 'widget_text', array( $this, 'filter' ), 200 );
143
return false;
144
}
145
146
+ static function filter_content( $content ) {
147
+ $A3_Lazy_Load = A3_Lazy_Load::_instance();
148
+ add_filter( 'wp_get_attachment_image_attributes', array( $A3_Lazy_Load, 'get_attachment_image_attributes' ), 200 );
149
+
150
+ return $A3_Lazy_Load->filter( $content );
151
+ }
152
+
153
+ static function get_attachment_image_attributes( $attr ) {
154
+ $A3_Lazy_Load = A3_Lazy_Load::_instance();
155
+
156
+ $attr['data-src'] = $attr['src'];
157
+ $attr['src'] = $A3_Lazy_Load->_placeholder_url;
158
+ $attr['class'] = 'lazy-hidden '. $attr['class'];
159
+ $attr['data-lazy-type'] = 'image';
160
+
161
+ return $attr;
162
+ }
163
+
164
static function filter( $content ) {
165
if( is_admin() ){
166
return $content;
languages/a3_lazy_load.mo CHANGED
Binary file
languages/a3_lazy_load.po CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
msgstr ""
3
"Project-Id-Version: a3 Lazy Load\n"
4
"Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2014-12-19 13:01+0700\n"
6
- "PO-Revision-Date: 2014-12-19 13:01+0700\n"
7
"Last-Translator: Nguyen Cong Tuan <mr.nguyencongtuan@gmail.com>\n"
8
"Language-Team: a3rev\n"
9
"Language: en\n"
@@ -212,6 +212,7 @@ msgid "Reset Settings"
212
msgstr ""
213
214
#: admin/admin-pages/admin-settings-page.php:62
215
msgid "a3 Lazy Load"
216
msgstr ""
217
@@ -219,6 +220,11 @@ msgstr ""
219
msgid "Lazy Load"
220
msgstr ""
221
222
#: admin/admin-ui.php:135
223
#, php-format
224
msgid "Settings inside this yellow border are %s Features."
@@ -370,6 +376,6 @@ msgstr ""
370
msgid "Comming Soon"
371
msgstr ""
372
373
- #: classes/class-a3-lazy-load-filter.php:16
374
- msgid "Settings"
375
msgstr ""
2
msgstr ""
3
"Project-Id-Version: a3 Lazy Load\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2014-12-23 17:37+0700\n"
6
+ "PO-Revision-Date: 2014-12-23 17:37+0700\n"
7
"Last-Translator: Nguyen Cong Tuan <mr.nguyencongtuan@gmail.com>\n"
8
"Language-Team: a3rev\n"
9
"Language: en\n"
212
msgstr ""
213
214
#: admin/admin-pages/admin-settings-page.php:62
215
+ #: admin/admin-pages/admin-settings-page.php:77
216
msgid "a3 Lazy Load"
217
msgstr ""
218
220
msgid "Lazy Load"
221
msgstr ""
222
223
+ #: admin/admin-pages/admin-settings-page.php:78
224
+ #: classes/class-a3-lazy-load-filter.php:16
225
+ msgid "Settings"
226
+ msgstr ""
227
+
228
#: admin/admin-ui.php:135
229
#, php-format
230
msgid "Settings inside this yellow border are %s Features."
376
msgid "Comming Soon"
377
msgstr ""
378
379
+ #: classes/class-a3-lazy-load-filter.php:17
380
+ msgid "Support"
381
msgstr ""
readme.txt CHANGED
@@ -4,17 +4,17 @@ Contributors: a3rev, A3 Revolution Software Development team
4
Tags: a3 lazy load, Lazy Loading , image lazy load, lazyload
5
Requires at least: 4.0
6
Tested up to: 4.1.0
7
- Stable tag: 1.0.0
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
11
- Use a3 Lazy Load to instantly improve your sites load time while dramatically improving site visitors user experience.
12
-
13
== Description ==
14
15
Inspired by Facebook lazy Load UI - a3 lazy Load is a Mobile Oriented, easily customizable plugin that will speed up site performance, the more content heavy your site the better the plugin will perform and the more you will see the improvements in performance. a3 Lazy Load is inspired by and powered by the ressio [Lazy-Load-xt JavaScript](https://github.com/ressio/lazy-load-xt).
16
17
- a3 Lazy load reduces the number of http calls when a page loads by only loading elements on a page that are visible in the users browser. As the user scroll down the page the next lot of elements are loaded as they become visible in the view port.
18
19
= Easy Configuration =
20
@@ -28,7 +28,7 @@ From the admin panel use ON | OFF switches to activate or deactivate lazy load o
28
29
= Lazy Load Effects =
30
31
- a3 lazy Load gives you the option to lazy load images with a FADE IN or SPINNER effect.
32
33
* FADEIN [see demo](http://ressio.github.io/lazy-load-xt/demo/fadein.htm)
34
* SPINNER [see demo](http://ressio.github.io/lazy-load-xt/demo/spinner.htm)
@@ -39,7 +39,7 @@ a3 lazy Load is built and tested to be fully compatible with the WooCommerce plu
39
40
= Asset Load =
41
42
- a3 Lazy Load gives you the option to load its script from your sites HEAD or from the FOOT.
43
44
* Note that your theme must have the wp_footer() function if you select FOOTER load.
45
* Note the plugin CSS is always loaded from the HEAD.
@@ -83,10 +83,10 @@ a3 lazy Load is tested 100% compatible with all major browsers.
83
84
* Full support for responsive images.
85
* Full support of jQueryMobile framework
86
- * WordPress Multi site ready.
87
* Backend support for RTL display.
88
* Translation ready
89
-
90
91
== Installation ==
92
@@ -95,7 +95,7 @@ a3 lazy Load is tested 100% compatible with all major browsers.
95
* WordPress 4.0
96
* PHP version 5.2.4 or greater
97
* MySQL version 5.1.73 or greater
98
-
99
= Automatic installation =
100
101
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install of a3 Lazy Load, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New. Search a3 Lazy load, select and install.
@@ -103,19 +103,31 @@ Automatic installation is the easiest option as WordPress handles the file trans
103
== Screenshots ==
104
105
1. Admin Dashboard.
106
-
107
-
108
== Usage ==
109
110
1. Install and activate the plugin
111
112
2. On wp-admin a3 Lazy Laod one page admin panel check the settings.
113
114
- 3. Enjoy
115
116
117
== Changelog ==
118
119
= 1.0.0 - 2014/12/20 =
120
* First working release
121
4
Tags: a3 lazy load, Lazy Loading , image lazy load, lazyload
5
Requires at least: 4.0
6
Tested up to: 4.1.0
7
+ Stable tag: 1.0.1
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
11
+ Use a3 Lazy Load to instantly improve your sites load time while dramatically improving site visitors user experience.
12
+
13
== Description ==
14
15
Inspired by Facebook lazy Load UI - a3 lazy Load is a Mobile Oriented, easily customizable plugin that will speed up site performance, the more content heavy your site the better the plugin will perform and the more you will see the improvements in performance. a3 Lazy Load is inspired by and powered by the ressio [Lazy-Load-xt JavaScript](https://github.com/ressio/lazy-load-xt).
16
17
+ a3 Lazy load reduces the number of http calls when a page loads by only loading elements on a page that are visible in the users browser. As the user scroll down the page the next lot of elements are loaded as they become visible in the view port.
18
19
= Easy Configuration =
20
28
29
= Lazy Load Effects =
30
31
+ a3 lazy Load gives you the option to lazy load images with a FADE IN or SPINNER effect.
32
33
* FADEIN [see demo](http://ressio.github.io/lazy-load-xt/demo/fadein.htm)
34
* SPINNER [see demo](http://ressio.github.io/lazy-load-xt/demo/spinner.htm)
39
40
= Asset Load =
41
42
+ a3 Lazy Load gives you the option to load its script from your sites HEAD or from the FOOT.
43
44
* Note that your theme must have the wp_footer() function if you select FOOTER load.
45
* Note the plugin CSS is always loaded from the HEAD.
83
84
* Full support for responsive images.
85
* Full support of jQueryMobile framework
86
+ * WordPress Multi site ready.
87
* Backend support for RTL display.
88
* Translation ready
89
+
90
91
== Installation ==
92
95
* WordPress 4.0
96
* PHP version 5.2.4 or greater
97
* MySQL version 5.1.73 or greater
98
+
99
= Automatic installation =
100
101
Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install of a3 Lazy Load, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New. Search a3 Lazy load, select and install.
103
== Screenshots ==
104
105
1. Admin Dashboard.
106
+
107
+
108
== Usage ==
109
110
1. Install and activate the plugin
111
112
2. On wp-admin a3 Lazy Laod one page admin panel check the settings.
113
114
+ 3. Enjoy
115
116
117
== Changelog ==
118
119
+ = 1.0.1 - 2014/12/23 =
120
+ * Tweak - Applied lazy load for 'wp_get_attachment_image_attributes' filter tag for WordPress default [gallery] shortcode
121
+ * Tweak - Added link to a3 Lazy Load wordpress.org support forum on plugins description that show on plugins menu
122
+ * Dev - Defined 'a3_lazy_load_enable' function when Enable Lazy Load is set to ON. Plugin and Theme developers can use the function to edit their image attribute so that a3 lazy load script can apply to the images.
123
+ * Dev - Defined 'a3_lazy_load_skip_classes' filter tag. Developers can add another class css name for images that they don't want lazy load applied too.
124
+ * Fix - Lazy Load does not apply to images added by shortcode, excluding the WordPress default [gallery] shortcode
125
+
126
= 1.0.0 - 2014/12/20 =
127
* First working release
128
129
+
130
+ == Update Notice ==
131
+
132
+ = 1.0.1 =
133
+ Upgrade your plugin now for apply lazy load to shortcodes fix plus plus a new developer function and class.