=== Wisp Gallery ===
Contributors: eedee
Tags: filterable gallery, photo gallery, portfolio, masonry, lightbox
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Filterable galleries for the block editor: masonry, justified rows, grid, carousel and accordion, with a filter block, lightbox and scroll reveal.

== Description ==

Wisp Gallery turns photos, posts and pages into galleries visitors can filter by category, in five layouts, right in the block editor. It is built on core blocks and the Interactivity API: 3 KB of JavaScript to start, the rest only when a gallery needs it, and no jQuery or other dependencies.

**[See it live and try every setting](https://wispgallery.com/)**

https://www.youtube.com/watch?v=W3pkt3JsJCg

= Three blocks =

* **Filterable Gallery** – lays out its content as masonry, justified rows, grid, carousel or accordion, with columns, row height and crop per device (desktop, tablet, mobile). Click an item to open the lightbox, follow its link, open the media file, or nothing.
* **Gallery Filter** – category buttons (or a dropdown) that filter one gallery or every gallery on the page, with counts and a smooth animation. Place it anywhere: above, below or beside the gallery.
* **Gallery Media Query** – images from the Media Library by Gallery Category, inside a gallery. New uploads in those categories show up by themselves.

A gallery holds regular core blocks: Image blocks, and Query Loop blocks (the "Gallery Posts" variation) with Post Featured Image and Post Title. Everything core offers for those blocks keeps working.

= Free, and complete =

* Five layouts: masonry, justified rows, grid, carousel (centered slides, endless loop, autoplay) and accordion.
* A native `<dialog>` lightbox with keyboard, swipe, captions and a counter.
* Scroll reveal (rise and fade) and hover zoom, in pure CSS.
* Gallery Categories for images, posts and pages. Set them in the gallery (one image or several at once), in the Media Library (column, filter and bulk actions) or in the post sidebar.
* Patterns: photo portfolio, travel journal, food menu, team, hero carousel, latest posts carousel and a filterable portfolio.
* An archive template for Gallery Categories in block themes.
* Command palette: add a filterable gallery, switch all galleries between Edit and Preview, tag selected images.
* Abilities API (WordPress 6.9+): AI agents can list categories, find and tag images, and create galleries.
* Translated into German, Spanish, French, Portuguese (Brazil), Italian, Japanese and Dutch.

= Switching from another gallery plugin =

Tools → Wisp Gallery import brings over galleries from **Envira Gallery, NextGEN Gallery, Modula and FooGallery**: images in their order, alt text, captions, links, layout, columns, spacing, lightbox and tags (as filter categories). Each gallery becomes a draft page. Optional replacement shortcodes keep existing posts working, including the Envira, Modula and FooGallery blocks. Also available as `wp wisp-gallery import`.

= Wisp Gallery Pro =

A separate plugin, [Wisp Gallery Pro](https://wispgallery.com/pro/), adds more for the same blocks. This plugin is complete without it: nothing in it is locked, and it shows no ads or notices.

* Videos next to photos: Media Library files, YouTube, Vimeo, TikTok and Instagram.
* Load more, with a button or on scroll, and albums (a gallery inside a gallery).
* WooCommerce: products with price and add to cart in the lightbox, and the Product Collection block.
* Lightbox download and share buttons, camera settings (EXIF), deep links, and lightbox styles and colors.
* Filter styles and presets, button sizes, count badges, any taxonomy, and the filter in the URL.
* Caption looks and colors, more hover and reveal effects, filter animations, and carousel arrow designs.
* A pattern pack of ready-made galleries.

= Source code =

The JavaScript and CSS in `build/` are compiled from the human-readable sources in `src/`, which ship with the plugin. To rebuild them: `npm install && npm run build` (uses @wordpress/scripts).

== External services ==

Wisp Gallery makes no requests to other servers: no tracking, no remote fonts or scripts, and nothing is sent anywhere from your site.

== Installation ==

1. In WordPress, go to Plugins → Add New, search for "Wisp Gallery" and click Install, then Activate.
2. In the block editor, add a **Filterable Gallery** block and drop in images, or pick them from the Media Library.
3. Give the images Gallery Categories (select them in the gallery and use the toolbar, or use the Media Library).
4. Add a **Gallery Filter** block above the gallery. Done.

To move galleries over from Envira, NextGEN, Modula or FooGallery, open Tools → Wisp Gallery import.

== Frequently Asked Questions ==

= Does it work with my theme? =

Yes. Wisp Gallery is made of blocks and takes the theme's colors, fonts and spacing. The filter uses your theme's own buttons. It works in block themes and classic themes with the block editor.

= Can visitors filter posts, not just images? =

Yes. Put a Query Loop (the "Gallery Posts" variation) in the gallery, or mix images and posts in one gallery. Images, posts and pages share the Gallery Categories.

= Is it fast? =

The first gallery on a page loads about 3 KB of JavaScript; the lightbox and filter load only when used. Images are lazy-loaded with the right sizes, and scroll reveal runs in CSS.

= Where do I get help? =

The documentation is at [wispgallery.com/docs](https://wispgallery.com/docs/). Questions and bug reports go to the support forum here.

== Screenshots ==

1. A filter with counts above a masonry gallery.
2. The carousel layout, one of five: masonry, justified rows, grid, carousel and accordion.
3. The lightbox: a native dialog with keyboard, swipe and caption support.
4. The filter in your theme's button style, with counts.
5. The Filterable Gallery block in the editor, with layout, device and column settings.
6. Gallery Categories in the Media Library: a column, a filter dropdown and bulk assignment.
7. The importer for Envira Gallery, NextGEN Gallery, Modula and FooGallery galleries.

== Changelog ==

= 1.0.1 =
_2026-09-27_

* The plugin now includes the source code of its scripts and styles (src/), with build instructions in the readme.
* Readme: an External services section.

= 1.0.0 =
_2026-09-27_

* Five layouts in one Filterable Gallery block: masonry, justified rows, grid, carousel and accordion, with columns, row height and aspect ratio per device.
* Gallery Filter block: buttons or a dropdown, counts, multi-select; filter changes animate with View Transitions.
* Native `<dialog>` lightbox that zooms out of the thumbnail, with swipe, keyboard and captions.
* Carousel navigation: arrows on or below the photos. Autoplay on or off.
* Reveal-on-scroll effects without JavaScript (rise and fade).
* Gallery Categories for images, posts and pages; images, post queries and media queries mix in one gallery.
* Importers for Envira Gallery, NextGEN Gallery, Modula and FooGallery, with replacement shortcodes.
* Patterns, a Gallery Categories archive template, commands and Abilities API support.
* Translations: German, Spanish, French, Portuguese (Brazil), Italian, Japanese and Dutch.



