Automatically adds Lightbox functionality to images displayed by WordPress (Gutenberg) Gallery and Image Blocks, as well as GenerateBlocks Image Blocks, and also videos created by the core Video Block, using the FSlightbox library.
This lightweight plugin will automatically adds Lightbox functionality to all images displayed by
and videos displayed by
without the needs to set each gallery/image and video link to the media file so you don’t need to set them manually one by one.
Note: You can exclude specific image/video from getting the lightbox functionality by adding no-lightbox
class to the image/video element.
This plugin has no settings (you can customized the default configuration using filters), hence does not add any data to the database, so you don’t need to worry about ‘database leftovers’ if you deactivate the plugin.
This plugin will automatically add the wrapper link with the necessary attribute on each image and videos that uses the blocks mentioned above to add the lightbox functionality using a few lines of inline script. So it will not make any changes to your original image and video tags (if you check from the page’s HTML source), and will not add extra weight / DOM depth to your page’s HTML.
By default, this plugin only works with the native WordPress Gallery, Image, and Video Blocks, as well as GenerateBlocks Image Blocks. You can add additional selectors using filters to make this functionality also works with other image/video blocks. If you need to, send me a request to have your image/video block included by default.
This plugin will only enqueued its assets (1 JS file) to pages/posts that use blocks, and will not enqueue assets if the page/post doesn’t use one of them.
I provided simple hover CSS which are not enabled by default. You can enable it using filter (see below).
Add the CSS class uses by the image/video block element, e.g:
add_filter( 'use_lightbox_in', function($use_lightbox_in) {
return $use_lightbox_in . ',.your-other-plugin-block-image-parent-element img, .your-other-plugin-image-class';
} );
Add the block info/name so that this plugin will enqueued the FSlightbox JavaScripts if the block is use in a post/page, e.g:
add_filter( 'use_lightbox_if', function($use_lightbox_if) {
return $use_lightbox_if . '|| has_block( "kadence/advancedgallery" ) || has_block( "your-plugin-block-name/the-block-name" )';
} );
Simply use the wp_dequeue
function**, e.g.:
add_action( 'wp_enqueue_scripts', function() {
if ( ! is_singular('post') ) { // only enable in single post type
wp_dequeue_script( 'image-video-lightbox' );
}
});
add_filter('use_lightbox_css', function () {
return true;
});
Optimize More! – A DIY WordPress Page Speed Optimization Pack. Features:
Lazyload, Preload, and more! – This tiny little plugin (around 14kb zipped) will automatically:
loading="eager"
to your featured image and all images that have no-lazy
or skip-lazy
class.Shop Extra – A lightweight plugin to optimize your WooCommerce & Business site:
Animate on Scroll – Animate any Elements on scroll using the popular AOS JS library simply by adding class names. This plugin helps you integrate easily with AOS JS library to add any AOS animations to WordPress. Simply add the desired AOS animation to your element class name with “aos-” prefix and the plugin will add the corresponding aos attribute to the element tag.