a3rev / a3-lazy-load

Speed up your site and enhance frontend user's visual experience in PC's, Tablets and mobile with a3 Lazy Load.
GNU General Public License v3.0
18 stars 11 forks source link

=== a3 Lazy Load === Contributors: a3rev, a3rev Software, nguyencongtuan Tags: a3 lazy load, Lazy Loading, image lazy load, lazyload Requires at least: 6.0 Tested up to: 6.6 Stable tag: 2.7.3 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html

Use a3 Lazy Load for images, videos, iframes that are not lazy loaded by WordPress core. Instantly improve your sites load time and dramatically improve site users experience.

== DESCRIPTION ==

a3 Lazy Load is a Mobile Oriented, very simple to use plugin that will speed up sites page load speed. The more content heavy your site the better the plugin will perform and the more you will see the improvements in performance. See this demo of a page with 1,000 images (yes 1,000 images) to load.

a3 Lazy Load is inspired by and powered by the ressio Lazy-Load-xt JavaScript.

= 100% COMPATABLE WITH WORDPRESS 6.0 =

WordPress 5.5 introduced lazy loading for all images uploaded to a sites media library and 5.7 introduces Core lazy load for iframes and 5.9 contained performance enhancements. a3 Lazy Load Image options work side-by-side with these, but then enhances it by lazy loading all the images loaded from outside of the media library, or on older browsers that do not support the new WP attribute and any iframes or videos that are not lazy loaded by WordPress.

= DISABLE WORDPRESS LAZY LOAD =

The plugin includes an option to completely disable WordPress Core Lazy Load if that is what you want to do.

= IMAGE LAZY LOAD =

For more flexibility when ON you can choose to ON | OFF lazy load all images that are not loaded from the WordPress media Library in:

= HORIZONTAL SCROLL =

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.

= VIDEO LAZY LOAD =

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

= iFRAME LAZY LOAD =

a3 Lazy Load has built in support for content that is added by iframe from any source in content and widgets and will lazy load any iframe that WordPress core does not load. Examples

= POST EMBED =

= WORDPRESS AMP =

= JETPACK SITE ACCELERATOR (Photon) =

This is an option that you turn on as the Jetpack Accelerator (Photon 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.

= WebP IMAGES =

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.

= LAZY LOAD EFFECTS =

a3 Lazy Load gives you the option to lazy load images with a FADE IN or SPINNER effect

= PERFORMANCE TWEAKS =

a3 Lazy Load gives you the option to load its script from your sites HEAD or from the FOOT.

= EXCLUDE IMAGES & VIDEO =

a3 Lazy Load allows you to easily exclude any image or video by class name from having the Lazy Load effect applied. See FAQ's

= JAVASCIPT DISABLED FALLBACK =

a3 Lazy Load has built in Noscript fallback if user has JavaScript turned off in their browser. Developers who use underscore.js in their applications can use the Noscript parameter to exclude their plugins content from Lazy Load.

= THEME & PLUGIN COMPATIBILITY =

a3 Lazy Load works with any WordPress theme that follows the WordPress Theme Codex. However, many Theme & Plugin developers will use a custom written function to add objects, example the theme has a home page with layout created by a custom function they have written. a3 Lazy Load cannot know what these functions are and so cannot apply to the objects loaded by that custom function.

If your images or objects not being Lazy Loaded in a certain section of your site, but are Lazy Loaded everywhere else you will know this is the cause. Please if this happens raise a support ticket with the developer, explaining that they just need to add a simple tag to their custom functions so that a3 Lazy Load apply to their custom function and be fully compatible. Here is a list of a3 lazy Load filter tags to include in your ticket to make it easy for the developer.

Don't forget when a developer does add full compatibility with a3 Lazy Load please let us know via a support ticket on this forum and we will add them to the list below.

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.

= MORE FEATURES =

= JOIN THE a3 LAZY LOAD COMMUNITY =

When you download a3 lazy Load, you join our community. Regardless of if you are a WordPress newbie or experienced developer if you are interested in contributing to a3 Lazy Load development head over to the a3 Lazy Load GitHub Repository to find out how you can contribute. Want to add a new language to a3 Lazy Load? Great! You can contribute via translate.wordpress.org

== Installation ==

= Minimum Requirements =

== Frequently Asked Questions ==

= How do I exclude individual objects from Lazy Load? =

Images, Videos / iframes can be excluded from Lazy Load by existing classnames or if none exist exclusions can be done manually via exclusion skip-lazy classname or data-skip-lazy attribute. Examples Exclude by classname <img class="skip-lazy"> , <video class="skip-lazy"> Exclude by attribute <img data-skip-lazy> , <video data-skip-lazy>

= Why are some images, videos, objects not Lazy Loaded? =

a3 Lazy Load can only be applied to objects that are added using core WordPress functions. If your theme or a plugin developer adds objects such as images or videos via a custom written function, a3 lazy Load cannot know what that custom function is and hence cannot Lazy Load the object.

So if you see object not being lazy loaded please check first if those objects are loaded by the theme or a plugin. If they are, you can be confident that they are loaded by a custom function.

If this is the case, please help yourself and other a3 lazy Load users by raising a support ticket with the developer and ask them to add an a3 Lazy Load filter tag to their function to allow a3 Lazy Load to find it and apply to the object.

Below is a list of available a3 Lazy Load filters to use and pass onto the developer.

= Filter tags to apply lazy load =

Apply lazy load for images in content. a3_lazy_load_images Example: apply_filters( 'a3_lazy_load_images', $your_content, null );

Apply lazy load for videos and iframe from content. a3_lazy_load_videos Example: apply_filters( 'a3_lazy_load_videos', $your_content, null );

Apply lazy load for all images, videos and iframe from content a3_lazy_load_html Example: apply_filters( 'a3_lazy_load_html', $your_content, null );

= Filter Tags to Exclude by Theme Class name =

Filter tags to add to class name of theme to exclude lazy load on images or videos. a3_lazy_load_skip_images_classes a3_lazy_load_skip_videos_classes

== SCREENSHOTS ==

  1. a3 lazy Load Dashboard
  2. a3 lazy Load Image Setting Options
  3. a3 lazy Load Video and iframe settings

== USAGE ==

  1. Install and activate the plugin
  2. Open WordPress Settings menu
  3. Click on a3 Lazy Load menu
  4. Turn ON Lazy Load and all preferred settings
  5. Save Changes and enjoy the improved performance Lazy Load will give your site

== Changelog ==

= 2.7.3 - 2024/07/15 =

= 2.7.2 - 2024/02/06 =

= 2.7.1 - 2023/11/23 =

= 2.7.0 - 2023/01/03 =

= 2.6.1 - 2022/10/04 =

= 2.6.0 - 2022/07/20 =

= 2.5.1 - 2022/06/07 =

= 2.5.0 - 2022/05/24 =

= 2.4.9 - 2022/01/21 =

= 2.4.8 - 2021/11/20 =

= 2.4.7 - 2021/07/19 =

= 2.4.6 - 2021/06/08 =

= 2.4.5 - 2021/03/17 =

= 2.4.4 - 2021/03/09 =

= 2.4.3 - 2020/12/30 =

= 2.4.2 - 2020/12/08 =

= 2.4.1 - 2020/08/17 =

= 2.4.0 - 2020/08/08 =

= 2.3.3 - 2020/07/17 =

= 2.3.2 - 2020/03/17 =

= 2.3.1 - 2020/02/29 =

= 2.3.0 - 2020/02/25 =

= 2.2.2 - 2020/01/18 =

= 2.2.1 - 2020/01/16 =

= 2.2.0 - 2020/01/13 =

= 2.1.0 - 2020/01/02 =

= 2.0.0 - 2019/11/19 =

= 1.9.3 - 2019/06/29 =

= 1.9.2 - 2019/01/02 =

= 1.9.1 - 2018/08/10 =

= 1.9.0 - 2018/08/06 =

= 1.8.9 - 2018/06/04 =

= 1.8.8 - 2018/05/26 =

= 1.8.7 - 2018/03/24 =

= 1.8.6 - 2018/03/24 =

= 1.8.5 - 2018/03/23 =

= 1.8.4 - 2018/02/13 =

= 1.8.3 - 2018/01/19 =

= 1.8.2 - 2017/06/02 =

= 1.8.1 - 2017/05/31 =

= 1.8.0 - 2017/05/30 =

= 1.7.1 =

= 1.7.0 - 2016/03/01 =

= 1.6.0 - 2016/01/22 =

= 1.5.2 - 2015/12/24 =

= 1.5.1 - 2015/12/11 =

= 1.5.0 - 2015/12/10 =

= 1.4.1 - 2015/08/22 =

= 1.4.0 - 2015/06/17 =

= 1.3.0 - 2015/06/05 =

= 1.2.2 - 2015/06/03 =

= 1.2.1 - 2015/05/26 =

= 1.2.0 - 2015/05/18 =

= 1.1.1 - 2015/04/21 =

= 1.1.0 - 2015/01/23 =

= 1.0.2 - 2015/01/20 =

= 1.0.1 - 2014/12/23 =

= 1.0.0 - 2014/12/20 =

== Upgrade Notice ==

= 2.7.3 = This release has various tweaks for compatibility with WordPress 6.6

= 2.7.2 = This release has a fix for conflict with WordPress expand on click feature in the image block.

= 2.7.1 = This maintenance release has plugin framework updates for compatibility with PHP 8.1 onwards, plus compatibility with WordPress 6.4.1

= 2.7.0 = This feature release removes the fontawesome lib and replaces icons with SVGs plus adds Default Topography option to font controls.

= 2.6.1 = This maintenance release has a security vulnerability patch, please run this update.

= 2.6.0 = This release adds the option to switch OFF WordPress Core Lazy Load.

= 2.5.1 = This maintenance release fixes a critical error when updating the plugin settings

= 2.5.0 = This release is for compatibility with WordPress major version 6.0 plus includes various tweaks to harden the plugins security

= 2.4.9 = This is a maintenance release for compatibility with WordPress major version 5.9

= 2.4.8 =

= 2.4.7 = This maintenance release has code tweaks for WordPress 5.8 compatibility plus Security hardening.

= 2.4.6 = This maintenance release has code tweaks to resolve conflicts with third party plugs that use data-src and data-poster attributes, plus compatibility with WordPress 5.7.2

= 2.4.5 = This maintenance release updates 23 deprecated jQuery functions for compatibility with the latest version of jQuery in WordPress 5.7

= 2.4.4 = This maintenance release is for compatibility with WordPress 5.7

= 2.4.3 = This is an important maintenance release that updates our scripts for compatibility with the latest version of jQuery released in WordPress 5.6

= 2.4.2 = This maintenance release has tweaks and bug fixes for compatibility with WordPress major version 5.6, PHP 7.4.8 and WooCommerce 4.7.1

= 2.4.1 = This maintenance release resolves a conflict with jQuery helper plugin and WordPress 5.5

= 2.4.0 = This feature release has full compatibility with WP 5.5 core image lazy loading. Just Update and a3 Lazy Load will work side-by-side with the WP core image lazy load. No settings to update and a3 lazy load will enhance it by lazy loading images the new core feature misses and on older browsers that do not support the new feature.

= 2.3.3 = This maintenance release is compatibility with WordPress 5.4.2 and a bug fix for a conflict with the latest version 4.3 of WooCommerce

= 2.3.2 = This maintenance release has compatibility for WordPress 5.4, WooCommerce 4.0, full compliance with WordPress PHP coding standards plus a typo fix.

= 2.3.1 = This maintenance release contains various PHP code updates to resolve PHP warnings and depreciations in PHP 7.0 to 7.4

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

= 2.2.2 = This maintenance release is to update incorrect help text regarding usage of the new class and attribute exclusion strings

= 2.2.1 = This maintenance release adds support for the Lazy Load exclusion attribute 'data-skip-lazy'

= 2.2.0 = This feature release completes the full refactor (frontend and backend) of the plugins PHP to Composer plus introduces new standardized skip-lazy exclusion class with backward compatibility support for a3-notlazy class

= 2.1.0 = This feature release adds support for WebP images (this support is automatic there are no settings for it), plus compatibility with WordPress 5.3.2

= 2.0.0 = This feature release has a lot. PHP is upgraded to Composer PHP Dependency Manager, Compatibility with Jetpack Accelerator, a full security review, and compatibility with with WordPress 5.3.0

= 1.9.3 =

= 1.9.2 = This maintenance update is for compatibility with WordPress 5.0.2 and PHP 7.3. It also includes performance updates to the plugin framework.

= 1.9.1 = This maintenance update resolves 2 issues from the v 1.9.0 upgrade

= 1.9.0 = This feature upgrade is focused on adding a number of new options for excluding Lazy Load from sections of a site plus Compatibility with WordPress 4.9.8, Gutenberg 3.4.0 and WooCommerce 3.4.4

= 1.8.9 = Maintenance update. This upgrade has 2 code tweaks for compatibility with themes and plugins that load images via the wp_kses_post sanitizer as WooCommerce does since version 3.4.0 with widgets and on Cart page.

= 1.8.8 = Maintenance Update. Compatibility WordPress 4.9.6 and the new GDPR compliance requirements for users in the EU

= 1.8.7 = Maintenance Update. 2 code tweaks to enhance the lazy loading of images, video and iframe added by third party shortcodes in the content

= 1.8.6 = Maintenance Update. 1 bug fix from this morning 1.8.5 major maintenance release. A small piece of new code in v 1.8.5 was written on PHP v7 and is not compatible with PHP version 5.6 If you are running v PHP 5.6 please run this update to fix it

= 1.8.5 = Maintenance Update. Refactor of Lazy Load on Widgets, Full Compatibility with the Advanced Custom Fields plugin, optimization tweaks and 3 bug fixes.

= 1.8.4 = Maintenance Update. This version updates the Plugin Framework to v 2.0.2, adds full compatibility with a3rev dashboard and WordPress v 4.9.4

= 1.8.3 = Maintenance Update. 1 redirect Bug fix on first activate on site with WordPress v4.9.2

= 1.8.2 = Maintenance Update. 1 bug fix and 1 code tweak for compatibility with upcoming Major WordPress version 4.8.0

= 1.8.1 = Maintenance Update. 1 bug fix causing afatal error from version 1.8.0 release yesterday

= 1.8.0 = Feature Upgrade. 1 bug fix, 3 new features, 2 code updates for compatibility with WordPress v 4.7.5, PHP 7.0, Better AMP plugin and launch public Github Repo

= 1.7.1 = Maintenance Update. 2 Tweaks for full compatibility with WordPress major version 4.5

= 1.7.0 = Feature Upgrade. Full compatibility with WordPress AMP. No settings for it - just auto. 3 other features, 3 code tweaks and 1 major Microsoft Browser bug fix

= 1.6.0 = Feature Upgrade. 1 New Feature. Now support Lazy Loading elements within content that is loaded by AJAX plus full compat with WordPress v4.4.1 and WooCommerce v2.5 - be sure to clear caches, CDNs etc

= 1.5.2 = Maintenance Update. 2 code tweaks and 2 bug fixes to correct lazy load not showing WordPress v 4.4 Responsive Images in legacy and mobile browsers, should flush the cached if site have installed cache plugin

= 1.5.1 = Maintenance Update. 2 Tweaks and 1 bug fix for themes that use loop code, or where 3rd party scripts add name to property attributes

= 1.5.0 = Feature Upgrade. 2 new features plus 1 bug fix and tweaks for full compatibility with WordPress major Version 4.4

= 1.4.1 = Major Maintenance Upgrade. 5 Code Tweaks plus 2 bug fixes for full compatibility with WordPress v 4.3.0

= 1.4.0 = Major Feature Upgrade. Massive admin panel UI and UX upgrade. Includes 5 new features, 3 Tweaks, 1 bug fix plus full compatibility with WooCommerce Version 2.3.11

= 1.3.0 = Feature Upgrade. New Image Loading Threshold feature. Set threshold in pixel that images will start to load before they reach the viewport.

= 1.2.2 = Important Maintenance Upgrade. 2 x major a3rev Plugin Framework Security Hardening Tweaks

= 1.2.1 = Maintenance Upgrade. 1 bug fix for dynamic stylesheets loaded over secure https protocol.

= 1.2.0 = Feature Upgrade. Added support for Lazy Load images in Tabbed content without having to scroll, also a file permissions tweak plus full compatibility with WordPress 4.2.2

= 1.1.1 = Maintenance upgrade. Code tweaks for full compatibility with WordPress 4.2.0 and WooCommerce 2.3.8

= 1.1.0 = Major version release. Added support for WordPress Embeds - Youtube, Vimeo, HTML5 video and iframe content from all sources.

= 1.0.2 = Upgrade now for an a3 Portfolio plugin compatibility code tweak and a new Dev parameter and exclude class.

= 1.0.1 = Upgrade your plugin now for apply lazy load to shortcodes fix plus plus a new developer function and class.