Qaiyo Clean Gallery
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 (A→Z / Z→A)
- 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,ImageObjectandItemList - 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, andids="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 layoutqaiyo_clean_gallery_happyfiles_taxonomy,qaiyo_clean_gallery_hf_orderby,qaiyo_clean_gallery_hf_order— HappyFiles folder source and orderingqaiyo_clean_gallery_compress_threshold,qaiyo_clean_gallery_compress_max_bytes,qaiyo_clean_gallery_compress_quality_step,qaiyo_clean_gallery_compress_quality_floor— image compression tuningqaiyo_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, Privacy Policy
- X (X Corp.) — Terms of Service, Privacy Policy
- Pinterest (Pinterest, Inc.) — Terms of Service, 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. No request is made on the frontend of your site.