Title: Qaiyo Clean Gallery
Author: qaiyo
Published: <strong>July 25, 2026</strong>
Last modified: July 25, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/qaiyo-clean-gallery.svg)

# Qaiyo Clean Gallery

 By [qaiyo](https://profiles.wordpress.org/qaiyo/)

[Download](https://downloads.wordpress.org/plugin/qaiyo-clean-gallery.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/qaiyo-clean-gallery/#description)
 * [Reviews](https://wordpress.org/plugins/qaiyo-clean-gallery/#reviews)
 *  [Installation](https://wordpress.org/plugins/qaiyo-clean-gallery/#installation)
 * [Development](https://wordpress.org/plugins/qaiyo-clean-gallery/#developers)

 [Support](https://wordpress.org/support/plugin/qaiyo-clean-gallery/)

## Description

Qaiyo Clean Gallery is a focused, dependency-free WordPress gallery plugin built
for performance and clean markup. Each gallery is a Custom Post Type with its own
settings, usable through a Gutenberg block or a shortcode. The frontend ships **
zero JavaScript dependencies** — no jQuery, no Swiper, no PhotoSwipe — just a few
kilobytes of plain modern JavaScript.

Unlike most gallery plugins, Qaiyo Clean Gallery is genuinely portable and self-
hostable: you can move a whole gallery — with its images — from one site to another
in a single ZIP file, it syncs live with your HappyFiles media folders, and it never
phones home or loads your images through a third-party CDN.

#### What makes it different

 * **One-click ZIP export / import** — move an entire gallery (settings, categories
   and the original image files) to another site in one downloadable ZIP. The source
   site does not have to stay online during import, and images transfer byte-for-
   byte. No database exports, no phpMyAdmin, no extra migration plugin.
 * **HappyFiles live-link** — point a gallery at a HappyFiles media folder and it
   stays in sync automatically. Drop new images into the folder and they appear 
   in the gallery — no re-import step.
 * **No lock-in, no tracking** — your images stay on your server and nothing is 
   sent anywhere automatically. The only external interactions are the optional,
   click-only social share links and an optional WordPress.org directory query on
   an admin screen (see “External services” below).
 * **Truly multilingual** — ships with 11 languages, each with correct plural rules.

#### Gallery layouts

 * **Grid** — classic fixed-ratio column grid
 * **Masonry** — Pinterest-style variable-height columns
 * **Standard** — uniform 1:1 squares for portfolios and shops
 * **Justified** — equal-height rows with varying widths (Flickr style)
 * **Bento** — asymmetric multi-sized grid with hero cells

#### Lightbox

 * Keyboard navigation (arrow keys / Esc) and touch-swipe friendly
 * Image counter, captions and a responsive mobile layout
 * **Deep linking** — opening an image updates the URL (`#qcg={id}&img={index}`)
   so an exact image can be linked, bookmarked and shared
 * **Social share buttons** inside the lightbox — Facebook, X, Pinterest and copy-
   link
 * **Right-click protection** — optional casual-download protection (disables right-
   click and image drag)

#### All-galleries view

The `[qaiyo_clean_gallery_all]` view lists every gallery as a paged card grid with:

 * Category filter buttons
 * Sorting by date (newest / oldest) or title (AZ / ZA)
 * Load-more pagination
 * A 3 / 4 column switcher whose icon colors you can customize

#### Overview dashboard

A dedicated landing page under **Clean Gallery  Overview** shows at-a-glance stats—
number of galleries, published, drafts, total images, categories and HappyFiles 
status — plus quick actions for creating a gallery, exporting/importing and opening
help.

#### Performance & SEO

 * Zero JavaScript dependencies on the frontend
 * Native browser lazy loading (`loading="lazy"`)
 * Automatic image compression on upload — images over ~1.5 MB are compressed to
   under ~1 MB using Imagick or GD
 * schema.org structured data: `ImageGallery`, `ImageObject` and `ItemList`
 * ARIA labels and full keyboard navigation

#### Editor & embedding

 * Each gallery is a Custom Post Type with a drag-and-drop image manager
 * A copy-ready shortcode box on the editor screen
 * A native **Qaiyo Clean Gallery** Gutenberg block (server-side rendered)
 * Theme-overridable single-gallery template

Shortcodes:

 * `[qaiyo_clean_gallery id="42"]` — a single gallery. Optional attributes: `layout`,`
   columns`, `lightbox`, `captions`, `lazy`, `gap`, and `ids="101,102"` to render
   attachments directly without a gallery post.
 * `[qaiyo_clean_gallery_all]` — all galleries as a paged card grid. Attributes:`
   card_columns`, `gallery_columns`, `filter`, `orderby`, `order`, `per_page`.

#### Internationalization

Bundled translations: English, Hungarian, German, French, Spanish, Italian, Portuguese,
Russian, Japanese, Turkish and Polish. Locale variants (for example de_CH, fr_BE,
es_MX, pt_BR) automatically fall back to their base language.

#### For developers

Everything is namespaced under the `qaiyo_clean_gallery` prefix, with filters for
customization:

 * `qaiyo_clean_gallery_justified_row_height` — target row height for the Justified
   layout
 * `qaiyo_clean_gallery_happyfiles_taxonomy`, `qaiyo_clean_gallery_hf_orderby`, `
   qaiyo_clean_gallery_hf_order` — HappyFiles folder source and ordering
 * `qaiyo_clean_gallery_compress_threshold`, `qaiyo_clean_gallery_compress_max_bytes`,`
   qaiyo_clean_gallery_compress_quality_step`, `qaiyo_clean_gallery_compress_quality_floor`—
   image compression tuning
 * `qaiyo_clean_gallery_cpt_slug`, `qaiyo_clean_gallery_tax_slug` — the single-gallery
   and category URL slugs

#### Part of the Qaiyo family

Qaiyo Clean Gallery is part of the Qaiyo plugin family — https://qaiyo-plugins.com—
support: info@qaiyo-plugins.com

### External services

This plugin does not send any data anywhere on its own and does not use any tracking.
It interacts with the following external services, in the ways described below.

#### Facebook, X and Pinterest share links (optional)

When the **Social share buttons** setting is enabled (Clean Gallery  Info & Help),
the lightbox shows share links for Facebook, X and Pinterest. No connection to these
services is made while browsing — a request happens **only when a visitor clicks
one of the share links**, which opens that provider’s standard share page in a new
browser tab.

What is sent on click, as URL parameters of the opened share page: the URL of the
page containing the gallery (all three services), and for Pinterest additionally
the URL of the shared image and its caption/title, so the provider can pre-fill 
the share dialog. The plugin itself transmits nothing; the visitor’s browser opens
the provider’s page, where the provider’s own terms apply:

 * Facebook (Meta Platforms, Inc.) — [Terms of Service](https://www.facebook.com/legal/terms),
   [Privacy Policy](https://www.facebook.com/privacy/policy/)
 * X (X Corp.) — [Terms of Service](https://x.com/en/tos), [Privacy Policy](https://x.com/en/privacy)
 * Pinterest (Pinterest, Inc.) — [Terms of Service](https://policy.pinterest.com/en/terms-of-service),
   [Privacy Policy](https://policy.pinterest.com/en/privacy-policy)

The copy-link button only copies the URL to the visitor’s clipboard locally; it 
contacts no service. If the Social share buttons setting is disabled, none of these
links are rendered.

#### WordPress.org plugin directory (admin only)

The admin-only **Discover Qaiyo** screen queries the official WordPress.org plugin
directory API (`api.wordpress.org`) to list our other free plugins. The request 
is made only when an administrator opens that screen, contains only the plugin-author
query (no personal data), and its result is cached for 12 hours. This is the same
WordPress.org infrastructure the built-in “Add Plugins” screen uses. See the [WordPress.org privacy policy](https://wordpress.org/about/privacy/).
No request is made on the frontend of your site.

## Blocks

This plugin provides 1 block.

 *   Qaiyo Clean Gallery

## Installation

 1. In your WordPress admin, go to **Plugins  Add New  Upload Plugin** and upload the`
    qaiyo-clean-gallery` ZIP (or copy the `qaiyo-clean-gallery` folder to `/wp-content/
    plugins/`).
 2. Activate the plugin through the **Plugins** menu.
 3. Create your first gallery under **Clean Gallery  Add New**: add a title, pick images
    from the Media Library, choose a layout, and publish.
 4. Copy the shortcode from the editor’s **Shortcode** box, or add the **Qaiyo Clean
    Gallery** block, and embed it in any post or page.

#### Requirements

 * WordPress 5.8 or newer
 * PHP 7.4 or newer
 * Imagick (preferred) or GD for automatic image compression

## FAQ

### Does it add any JavaScript libraries to my site?

No. The frontend has zero JavaScript dependencies — no jQuery, no Swiper, no PhotoSwipe.
Just a small amount of plain JavaScript.

### How do I move a gallery to another website?

Go to **Clean Gallery  Export / Import**, pick a gallery and download the ZIP. On
the other site, open the same screen, upload the ZIP, and the gallery is recreated
as a draft with all of its images. The source site does not need to stay online 
during the import.

### Does it work with HappyFiles?

Yes. If HappyFiles (free or Pro) is active, you can point a gallery at a HappyFiles
folder and it stays in sync automatically — new images added to the folder appear
in the gallery with no re-import. If HappyFiles is not installed, galleries work
as normal manual galleries.

### What happens to a HappyFiles-linked gallery when I import it somewhere without HappyFiles?

It imports as a normal manual gallery containing the same images — no data is lost.
If HappyFiles is active on the target site, the folder structure is recreated and
the gallery stays live-linked.

### Which languages are included?

English, Hungarian, German, French, Spanish, Italian, Portuguese, Russian, Japanese,
Turkish and Polish.

### Can I override the single gallery template?

Yes. Copy `templates/single-qaiyo_clean_gallery.php` from the plugin into your theme’s
root folder and edit it there.

### Does the plugin send any data to external servers?

No data is sent automatically. Your images and galleries stay on your own server,
and the plugin sends nothing to qaiyo-plugins.com. The only network interactions
are the optional social share links in the lightbox (opened only when a visitor 
clicks them) and an optional query to the WordPress.org plugin directory on the 
admin-only “Discover Qaiyo” screen — both documented in detail under “External services”
below.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Qaiyo Clean Gallery” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ qaiyo ](https://profiles.wordpress.org/qaiyo/)

[Translate “Qaiyo Clean Gallery” into your language.](https://translate.wordpress.org/projects/wp-plugins/qaiyo-clean-gallery)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/qaiyo-clean-gallery/),
check out the [SVN repository](https://plugins.svn.wordpress.org/qaiyo-clean-gallery/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/qaiyo-clean-gallery/)
by [RSS](https://plugins.trac.wordpress.org/log/qaiyo-clean-gallery/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

First public release. Highlights:

 * Five gallery layouts: Grid, Masonry, Standard (uniform squares), Justified (equal-
   height rows) and Bento (asymmetric grid).
 * Built-in accessible lightbox: keyboard and touch-swipe navigation, image counter
   and captions, plus deep linking (an exact image can be linked/bookmarked), social
   share buttons (Facebook, X, Pinterest, copy link) and optional right-click protection.
 * One-click ZIP Export / Import: move an entire gallery — settings, categories 
   and the original image files — to another site in a single self-contained ZIP.
   The source site does not need to stay online, images transfer byte-for-byte, 
   duplicates are detected by content hash, and imports arrive as drafts.
 * HappyFiles live-link: point a gallery at a HappyFiles folder and it stays in 
   sync automatically; on export/import the folder is recreated and the link preserved.
 * All-galleries view (`[qaiyo_clean_gallery_all]`): category filter, sort by date/
   title, load-more pagination and a 3/4 column switcher with customizable icon 
   colors.
 * Overview dashboard: a default landing page with a personalized greeting, at-a-
   glance stats (galleries, published, drafts, total images, categories, HappyFiles
   status) and quick actions.
 * Performance & SEO: zero JavaScript dependencies on the frontend, native lazy 
   loading, automatic image compression on upload (Imagick/GD), and schema.org ImageGallery/
   ImageObject / ItemList structured data.
 * Editor & embedding: Custom Post Type with a drag-and-drop image manager, a copy-
   ready shortcode box, a native Gutenberg block and a theme-overridable single-
   gallery template.
 * Developer filters: qaiyo_clean_gallery_justified_row_height, qaiyo_clean_gallery_happyfiles_taxonomy,
   qaiyo_clean_gallery_hf_orderby, qaiyo_clean_gallery_hf_order, qaiyo_clean_gallery_compress_*
   and qaiyo_clean_gallery_cpt_slug / qaiyo_clean_gallery_tax_slug.
 * Ships with 11 languages: English, Hungarian, German, French, Spanish, Italian,
   Portuguese, Russian, Japanese, Turkish and Polish.

## Meta

 *  Version **1.0.0**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [gallery](https://wordpress.org/plugins/tags/gallery/)[happyfiles](https://wordpress.org/plugins/tags/happyfiles/)
   [images](https://wordpress.org/plugins/tags/images/)[lightbox](https://wordpress.org/plugins/tags/lightbox/)
   [masonry](https://wordpress.org/plugins/tags/masonry/)
 *  [Advanced View](https://wordpress.org/plugins/qaiyo-clean-gallery/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/qaiyo-clean-gallery/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/qaiyo-clean-gallery/reviews/)

## Contributors

 *   [ qaiyo ](https://profiles.wordpress.org/qaiyo/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/qaiyo-clean-gallery/)