Envira Gallery – Image Photo Gallery, Albums, Video Gallery, Slideshows & More
The Best Photo Gallery Plugin for Beautiful Image Galleries We believe creating a photo gallery should be simple! Envira Gallery makes it easy to create beautiful, responsive image galleries that look great on any device. Drag, drop, publish — and your photo gallery is live in minutes with zero coding required. More importantly, over 150,000 website owners choose Envira Gallery because it is the fastest loading gallery plugin on the market. Your image gallery will never slow down your site. Whether you need a portfolio gallery, a client proofing gallery, or a video gallery for your brand – Envira Gallery does it all. Envira Gallery Pro This plugin is the lite version of Envira Gallery Pro, which comes with albums, video galleries, watermarking, WooCommerce integration, client proofing, social sharing, and tons more. Click here to purchase the best premium photo gallery plugin now! See what WordPress developer Chris Lema has to say about Envira Gallery: I’ve suspended flavor-of-the-week gallery plugins in favor of Envira Gallery. It’s developer-friendly — a photo gallery solution that works great and won’t slow down your site. Chris Lema – WordPress Developer & Blogger Drag & Drop Gallery Builder Create a stunning image gallery in minutes, not hours. Our drag & drop gallery builder lets you upload photos, reorder images, and publish with just a few clicks. No coding. No confusing settings. Just drag, drop, and your photo gallery is live. Envira Gallery works perfectly with the Block Editor, Classic Editor, and shortcodes. Embed your image gallery on any page or post instantly. Lightning-Fast Photo Gallery Performance Speed matters. A slow gallery plugin will hurt your search rankings and frustrate your visitors. That’s why Envira Gallery is built for speed from the ground up. Testing by WPBeginner confirmed Envira Gallery loads faster than any other photo gallery plugin. Your image gallery will load fast on desktop, tablet, and mobile. Responsive Lightbox Display Every photo gallery includes a built-in responsive lightbox that works beautifully on all devices. Visitors browse images in a gorgeous fullscreen overlay without leaving the page. The lightbox includes: Multiple lightbox themes to match your site’s design Touch and swipe support for mobile galleries Keyboard navigation for desktop browsing Fullscreen mode for immersive gallery viewing Zoom capability for full-resolution images Slideshow autoplay with manual controls Photo Albums to Organize Your Galleries Got a lot of images? Use albums to group your photo galleries into organized collections. Choose cover photos for each album and let visitors browse your galleries their way. Albums are perfect for: Wedding and event photographers with multiple shoots Real estate agents with property photo galleries Travel bloggers organizing galleries by destination Businesses showcasing products by category Schools organizing event photo galleries by year Video Gallery Support Go beyond photos. With the Video Gallery addon, embed videos from YouTube, Vimeo, Wistia, DailyMotion, Twitch, and self-hosted video directly in your gallery. Mix photos and videos in the same gallery, or create dedicated video galleries. Every video plays inside the same beautiful lightbox your visitors already love. Sell Your Photos with WooCommerce Turn your photo gallery into a revenue stream. The WooCommerce integration lets you sell prints, digital downloads, and licensed images directly from your image gallery. Visitors browse your gallery, click a photo they love, and purchase — all without leaving your site. Protect Your Images Your photos deserve protection. Envira Gallery gives you the tools to keep your gallery images safe: [Watermarking] — Add text or image watermarks to protect gallery photos (originals are preserved) Right-click protection — Prevent visitors from downloading your images Password protection — Restrict gallery access to authorized users only Gallery permissions — Control who can view each photo gallery by user role Image licensing — Display Creative Commons and custom license info to protect your work Client Proofing for Photographers Running a photography business? The client proofing addon streamlines your workflow. Clients browse their photo gallery, select favorites, add feedback, and submit — all from your site. No more emailing zip files back and forth. Your gallery becomes a professional client experience. Beautiful Gallery Layouts Every photo gallery deserves the right layout. Envira Gallery includes: Masonry — Pinterest-style image gallery layout Grid — Clean, uniform photo gallery grid Justified — Edge-to-edge image gallery rows Square — Uniform square thumbnails Mosaic — Dynamic, eye-catching gallery pattern Blogroll — Full-width image gallery layout for blogs Social Sharing & Engagement Help your gallery go viral. The social sharing addon lets visitors share photos to Facebook, Twitter/X, Pinterest, LinkedIn, WhatsApp, and email. Add a Pinterest “Pin It” button to every image in your gallery for maximum exposure. SEO-Friendly Photo Gallery Envira Gallery is built to help your image gallery rank. Every gallery includes: Deeplinking — SEO-friendly URLs for individual gallery images EXIF metadata display — Camera model, aperture, shutter speed with schema markup Alt text and caption support — Properly structured image gallery data Lazy loading — Faster initial page loads for better Core Web Vitals Image compression — Reduce file sizes without losing quality Adobe Lightroom Integration Professional photographers love our Lightroom addon. Create and sync image galleries directly from your Lightroom collections. Edit in Lightroom, and your photo gallery updates automatically. Full Envira Gallery Feature List Drag & drop gallery builder — Create a photo gallery in minutes without code 100% responsive and mobile-friendly image galleries Built-in responsive lightbox with fullscreen mode Albums — Organize galleries into collections with cover photos Video galleries — YouTube, Vimeo, Wistia, self-hosted video support Slideshow — Autoplay gallery with manual controls Social sharing— Share gallery images to Facebook, Twitter, Pinterest Watermarking — Protect photo gallery images with watermarks WooCommerce /eCommerce Galleries — Sell photos directly from your image gallery Client proofing — Photography business client workflow Deeplinking — SEO-friendly individual image gallery URLs Paginatio — Split large galleries across pages Image tagging — Filterable photo gallery with tag-based navigation Password protection — Restrict gallery access EXIF data display — Show camera details with schema markup Fullscreen mode — Immersive gallery viewing experience Image compression — Optimize gallery performance to load fast on every device Gallery animations — Beautiful transition effects Gallery themes — Professionally designed gallery templates Standalone galleries — Galleries with unique, shareable URLs Downloads — Allow visitors to download gallery images Printing — Add print buttons to gallery images Image / Gallery commenting — Let visitors comment on gallery photos Gallery Zoom — Lightbox zoom for full-resolution viewing Scheduled galleries — Time-based gallery visibility Lazy loading — Faster page loads for large image galleries Block Editor (Gutenberg) support Shortcode embed support Custom CSS support Page Builder Integrations Elementor Gallery— Native image gallery addon for Elementor Beaver Builder Gallery — Native photo gallery addon for Beaver Builder Divi Gallery — Full gallery compatibility Block Editor — Dedicated and easy to use gallery block Import & Migration Adobe Lightroom — Sync image galleries with Lightroom collections Instagram importer — Import Instagram photos into your gallery automatically Dropbox importer — Import photos from Dropbox Zip file importer — Build galleries from zip files NextGEN / Imagely importer — Migrate from NextGEN Gallery After reading this feature list, you can see why over 150,000 websites trust Envira Gallery as their go-to photo gallery plugin. Give Envira Gallery a try. Credits This plugin is created by Syed Balkhi and the Envira Gallery Team. Branding Guidelines Envira Gallery® is a registered trademark of Envira Gallery LLC. When writing about the photo gallery plugin by Envira Gallery, please use the full name “Envira Gallery.” Envira Gallery (correct) Envira gallery (incorrect) envira gallery (incorrect) Envira (incorrect)
Top keywords
- gallery106×8.80%
- photo27×2.24%
- image26×2.16%
- envira25×2.07%
- envira gallery24×1.99%
- galleries23×1.91%
- photo gallery22×1.83%
- image gallery14×1.16%
- images13×1.08%
- photos13×1.08%
- video9×0.75%
- visitors9×0.75%
Photogallery
This plugin is meant primarily for theme developers. This plugin allows to collect photos from the the Media Manager and arrange them into albums. These albums can be combined into galleries. Both albums and galleries can be added to a theme’s navigation menu. Note that this plugin does not provide any CSS formatting and JavaScript for frontend presentation of galleries and albums. You have to format them yourself and integrate necessary JavaScript libraries, e.g Lightbox, yourself. This plugin merely gives a framework for gallery and album creation via custom post types and registration of designs for a frontend presentation. If you found a bug or have any questions, complains or suggestions please feel free to contact me. Theme Integration You have to write post type template files for your theme in order for an album or gallery to work. This gives Theme developers the most control over a frontend presentation and users a convenient way to create galleries through the WordPress dashboard. If you install this plugin, create albums and galleries and include them into your theme’s menu, you will be disappointed, since nothing will happen. Create two php files inside your theme’s directory: single-photogallery.php and single-photoalbum.php. single-photogallery.php gets called everytime a gallery is about to be viewed single-photoalbum.php gets called everytime a album is about to be viewed Now you have two options. You can register a custom design inside your theme’s function.php via e.g $kt_Photogallery->register_gallery_design() and call $kt_Photogallery->render() at an appropriated place inside your single-photogallery.php to render it depending on the user’s choice. You fetch albums, images and thumbnail details, and render consistent HTML for all albums and galleries. Refere to the PHP API section for further details on how to retrieve album IDs, image IDs and thumbnail details. Example A basic example for a custom gallery design # functions.php $kt_Photogallery->register_gallery_design ('my_gallery_design', array( 'label' => __('My Gallery Design', 'my-textdomain'), 'icon' => 'dashicons-format-gallery', 'title' => __('This is my custom gallery design', 'my-textdomain'), 'render' => 'render_my_gallery_design' )); $kt_Photogallery->register_album_design ('my_album_design', array( 'label' => __('My Album Design', 'my-textdomain'), 'icon' => 'dashicons-format-image', 'title' => __('This is my custom album design', 'my-textdomain'), 'render' => 'render_my_album_design' )); function render_my_gallery_design ($post) { global $kt_Photogallery; $album_IDs = $kt_Photogallery->get_albums($post); if ($album_IDs) { foreach ($album_IDs as $album_ID) { $album_thumbnail = $kt_Photogallery->get_thumbnail_src($album_ID); echo ' '; if ($album_thumbnail) { echo ' '; } echo ' '; } } else { printf(__('The gallery %s does not contain any albums', 'my-textdomain'), esc_html($post->post_title)); } } function render_my_album_design ($post) { global $kt_Photogallery; $image_IDs = $kt_Photogallery->get_images($post); if ($image_IDs) { foreach ($image_IDs as $image_ID) { $image = get_post($image_ID); if ($image) { $image_src = wp_get_attachment_image_src($image_ID, 'medium'); if (!$image_src) { $image_src = wp_get_attachment_image_src($image_ID, 'full'); } echo ' '; } } } else { printf(__('The album %s does not contain any images', 'my-textdomain'), esc_html($post->post_title)); } } Basic integration into Twenty Fifteen: # single-photogallery.php or single-photoalbum.php get_header(); ?> ', ' '); ?> render(); ?> get_album_count ( [$gallery_ID] ) Returns the number of albums associated with a gallery Argument int|null $gallery_ID Optional – ID of a gallery. Defaults to the current ID if used inside the Loop Returns integer|boolean – Returns an integer on success, or false if $gallery_ID yields no gallery $kt_Photogallery->get_albums ( [$gallery_ID] ) Returns an array of album IDs associated with a gallery. Argument int|null $gallery_ID Optional – ID of a gallery. Defaults to the current ID if used inside the Loop Returns array|boolean – Returns an array of IDs on success, false if $gallery_ID yields no gallery $kt_Photogallery->get_image_count ( [$album_ID] ) Returns the number of images associated with an album Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Returns integer|boolean – Returns an integer on success, or false if $album_ID yields no album $kt_Photogallery->get_images ( [$album_ID] ) Returns an array of image IDs associated with an album. Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Returns array|boolean – Returns an array of IDs on success, false if $album_ID yields no album $kt_Photogallery->get_thumbnail ( [$album_ID, [$fallback] ] ) Returns the ID of the image (attachment) used as thumbnail for an album Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Argument boolean $fallback Optional – if true and $album_ID yields no album the method returns the ID of the first image associated with the album. Default is true Returns integer|false – Returns an integer on success, false if $album_ID yields no album, no thumbnail is set or a fallback could not been resolved $kt_Photogallery->get_thumbnail_src ( [$album_ID, [$fallback] ] ) Returns an ordered array with values corresponding to the (0) url, (1) width, (2) height and (3) scale of the thumbnail associated with an album. Argument int|null $album_ID Optional – ID of an album. Defaults to the current ID if used inside the Loop Argument boolean $fallback Optional – if true and $album_ID yields no album the method returns the ID of the first image associated with the album. Default is true Returns array|false – Returns an array on success, false if $album_ID yields no album, no thumbnail is set or a fallback could not been resolved $kt_Photogallery->register_album_design ( $key, $options ) $kt_Photogallery->register_gallery_design ( $key, $options ) Registers a custom design for albums and galleries respectively. The design will be available in the Design metabox during editing Returns boolean – returns true if the design was registered successfully, false on failure. Argument string $key Required – A key used as id inside HTML/CSS and for general identification Argument callable|array $options Required – A callback rendering the design on the frontend or an associative array: string label – The text for the label string icon – The image shown next to the label. Can be dashicons-*, an URL to an image or a base 64 encoded image string title – Text used inside the HTML title attribute, usually containing a description callback render ($post, $options) – Callback rendering the design on the frontend. The arguments passed are the current post as a WP_Post instance and an associative array of the options straight from the database callback options ($current_options, $defaults, $post) – Callback for additional form fields, should echo HTML. The arguments passed are an associative array of the options straight from the database, the default options as second argument and the current post as a WP_Post instance as third. array defaults – Associative array containing default values for options. Its keys are used during saving so you should generate HTML form fields using its keys and provide a callback for filtering. callback filter ($current_options, $defaults, $post) – Callback for filtering the options before they are saved. This callback is called every time a post is saved. The arguments passed are the default options merged with the values from the current request, the default options as second argument and the current post as a WP_Post instance as third. The callback must return an associative array otherwise no options are stored. $kt_Photogallery->render( [$auto_design] ) Main output method. Depending on the current post type the method prints out a design for a gallery or an album. Argument boolean auto_design optional – If set true and no design is found, take the first registered one and proceed. Default is true Returns boolean – Returns true on success, false otherwise