Title: Global AI Gallery
Author: Global AI
Published: <strong>4 Jun 2026</strong>
Last modified: 17 Julai 2026

---

Search plugins

![](https://ps.w.org/global-ai-gallery/assets/banner-772x250.png?rev=3561445)

![](https://ps.w.org/global-ai-gallery/assets/icon-256x256.png?rev=3561445)

# Global AI Gallery

 Oleh [Global AI](https://profiles.wordpress.org/thiagoqvaz/)

[Download](https://downloads.wordpress.org/plugin/global-ai-gallery.1.3.6.zip)

 * [Details](https://ms.wordpress.org/plugins/global-ai-gallery/#description)
 * [Reviews](https://ms.wordpress.org/plugins/global-ai-gallery/#reviews)
 *  [Pemasangan](https://ms.wordpress.org/plugins/global-ai-gallery/#installation)
 * [Pembangunan](https://ms.wordpress.org/plugins/global-ai-gallery/#developers)

 [Support](https://wordpress.org/support/plugin/global-ai-gallery/)

## Description

Global AI Gallery creates clean, functional galleries on any WordPress site:

 * **Dedicated Custom Post Types** for Galleries and Albums
 * **Responsive Grid layout** (1–6 configurable columns)
 * **PhotoSwipe 5 lightbox** with keyboard, arrow and touch swipe navigation
 * **YouTube support** — paste a URL and the plugin handles the thumbnail and playback
 * **Native Elementor widget**
 * **Schema.org ImageGallery** markup for SEO
 * **Accessible** — ARIA, focus trap, screen-reader friendly
 * **Multi-language ready** — Polylang/WPML compatible, .pot file included
 * **No external dependencies** — everything is vendored, no CDN calls

#### Pro Version

The Pro add-on (sold separately) adds Masonry, Justified and Carousel layouts, Vimeo
and self-hosted videos, premium lightbox with zoom/share/download, animated filters,
interactive albums, and premium templates. Learn more at https://globalai.software/
plugin-global-ai-gallery

### External services

This plugin connects to YouTube to display video content that the site administrator
has chosen to add to a gallery or album. No data is sent unless an admin explicitly
adds a YouTube URL to a gallery item.

**YouTube thumbnail lookup (i.ytimg.com)**
 When a gallery item is a YouTube video,
the plugin requests the thumbnail URL from `https://i.ytimg.com/vi/<video-id>/maxresdefault.
jpg` (with a fallback to `hqdefault.jpg`) using `wp_remote_head()`. Only the video
ID is sent in the URL. The result (a URL string) is cached locally for 24 hours 
via WordPress transients to avoid repeat requests. – Data sent: the YouTube video
ID that the administrator added. – When: the first time a gallery containing that
video is rendered, and every 24 hours after the cache expires. – Service provider:
Google LLC. – Terms of service: https://www.youtube.com/t/terms – Privacy policy:
https://policies.google.com/privacy

**YouTube embed iframe (youtube.com or youtube-nocookie.com)**
 When a visitor opens
a YouTube video in the lightbox, the browser loads the embed from `https://www.youtube.
com/embed/<video-id>` — or, if the “Use youtube-nocookie.com” setting is enabled(
Settings  Global AI Gallery), from `https://www.youtube-nocookie.com/embed/<video-
id>`. This is a standard browser iframe; the plugin does not perform any server-
side request. – Data sent: the YouTube video ID, plus whatever YouTube itself collects
from the visitor’s browser (User-Agent, Referer, cookies — unless the cookieless
host is used). – When: only when a visitor actually plays a YouTube video on the
page. – Service provider: Google LLC. – Terms and privacy: same links as above.

The plugin does not contact any other external service. No telemetry, analytics,
license servers, or auto-update endpoints are called by this Free version.

### Security

This plugin exposes one public REST endpoint to support deferred rendering of galleries
from the frontend without requiring a logged-in user:

    ```
    GET /wp-json/global-ai-gallery/v1/render/<id> — returns the HTML for a single published gallery. The endpoint declares `permission_callback => __return_true` (public) because a published gallery is public content by definition, exactly like the post that embeds it. The handler then enforces a real read-permission check before rendering anything:
    ```

1. `<id>` is sanitised with `absint()` and validated to be a positive integer before
reaching the handler.
 2. The post must exist and be of the `gawpg_gallery` custom
post type; otherwise a 404 `WP_Error` is returned. 3. Read access is checked the
same way WordPress core checks it (`WP_REST_Posts_Controller::check_read_permission()`):
a `publish` gallery is readable by anyone, but any non-public status (draft, pending,
private, future, trash) only renders when the current user actually has read access
to that specific post (`current_user_can( 'read_post', $id )`) — otherwise 404. 
4. Password-protected galleries are never rendered without the password. `post_password_required()`
is honoured (respecting the `wp-postpass` cookie), returning a 401/403 `WP_Error`
when the password has not been entered. 5. The endpoint only returns rendered HTML;
it never reads or writes user data, options, transients, or any other server state.

This is the same content the visitor can already see by visiting the gallery’s public
page or any post that embeds it via the shortcode, so making the endpoint authenticated
would add no privacy or security benefit.

## Screenshots

[⌊Responsive grid gallery layout⌉⌊Responsive grid gallery layout⌉[

Responsive grid gallery layout

[⌊PhotoSwipe lightbox in action⌉⌊PhotoSwipe lightbox in action⌉[

PhotoSwipe lightbox in action

[⌊The widget inside the Elementor editor⌉⌊The widget inside the Elementor editor⌉[

The widget inside the Elementor editor

## Installation

 1. Upload the ZIP via Plugins > Add New > Upload Plugin
 2. Activate the plugin
 3. Go to **Global AI Gallery** in the sidebar menu and create your first gallery
 4. Insert the **Global AI Gallery** widget into an Elementor page

## FAQ

### Can I use it without Elementor?

Yes — use the shortcodes `[global_ai_gallery id="123"]` and `[global_ai_album id
="456"]` on any page, post, or theme template.

### How do I add an album to a page?

Two ways: (1) with Elementor, drag the **Global AI Album** widget and pick the album
in the panel; (2) without Elementor, use the shortcode `[global_ai_album id="X"]`(
replace X with the album ID). Both work in Free and display the album cards which
open a lightbox on click.

### Is it compatible with WPML?

Yes, it is compatible with both WPML and Polylang.

### Does the plugin send data outside my site?

No. The only external calls are to YouTube to fetch thumbnails (content the user
added). A cookieless mode is available in the settings.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Global AI Gallery” adalah perisian sumber terbuka. Orang-orang berikut telah menyumbang
kepada pemalam ini.

Penyumbang

 *   [ Global AI ](https://profiles.wordpress.org/thiagoqvaz/)

[Translate “Global AI Gallery” into your language.](https://translate.wordpress.org/projects/wp-plugins/global-ai-gallery)

### Berminat dalam pembangunan?

[Layari kod](https://plugins.trac.wordpress.org/browser/global-ai-gallery/), periksa
[repositori SVN](https://plugins.svn.wordpress.org/global-ai-gallery/), atau langgani
[log pembangunan](https://plugins.trac.wordpress.org/log/global-ai-gallery/) dengan
[RSS](https://plugins.trac.wordpress.org/log/global-ai-gallery/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.6

 * Fix (lightbox): images opened in the lightbox were stretched to the screen’s 
   proportions (PhotoSwipe reads its size attributes from the link element; they
   were on the figure). Every image now keeps its exact aspect ratio at any screen
   size, and the lightbox picks the sharpest candidate via srcset.
 * Fix (data safety): saving a gallery could silently delete all items when a caption
   contained characters like `<` or `%` sequences — the items payload is now decoded
   before field-level sanitization and a malformed payload never wipes stored items.
 * Fix (lightbox video): YouTube slides are now centered and sized responsively —
   previously a fixed 1280px frame overflowed small screens.
 * Fix (security): draft/private galleries are no longer included in album markup
   for anonymous REST/AJAX requests, and direct renders of non-published galleries
   require read permission.
 * Fix: the documented `/global-ai-gallery/v1/render/<id>` REST endpoint is now 
   actually registered.
 * Fix: Elementor-rendered galleries keep `srcset`/`sizes` (responsive images) and
   valid Schema.org microdata (they were being stripped at the sanitization boundary).
 * Fix: clearing the “Columns” number control no longer collapses the grid; YouTube
   URLs with extra query parameters are accepted; Pro-extended aspect ratios work
   in shortcodes.
 * Accessibility: the album’s hidden pre-rendered galleries are now `inert` (no 
   more invisible tab stops).
 * Performance: gallery CSS/JS loads in the head when a gallery is detected on the
   page (no more flash of unstyled grid), with a late-footer catch-up for galleries
   rendered inside popups; removed the admin Google Fonts call (no external requests).
 * Requires WordPress 6.2+ (inline `aspect-ratio` and CSS custom properties survive
   sanitization from 6.2).

#### 1.3.5

 * Fix: sites that still had the pre-rename “Growth AI Gallery” copy installed alongside
   this plugin triggered “Constant already defined” warnings (and “headers already
   sent” cascades). The plugin now deactivates the legacy copy automatically, shows
   an admin notice, and never defines its constants twice. Galleries and albums 
   are preserved — both copies share the same data.

#### 1.3.4

 * Fix: the tablet/mobile values of the Elementor “Columns” responsive control (
   gallery and album widgets) are now honored on the frontend — previously only 
   the desktop value was used and mobile was locked to 2 columns.
 * Fix: grid items can no longer be stretched past their declared aspect ratio by
   the browser (visible with “Original size” images or 16:9 videos mixed into the
   grid) — images always keep a height proportional to their width at every screen
   size.
 * New: `columns_tablet` and `columns_mobile` attributes on the `[global_ai_gallery]`
   and `[global_ai_album]` shortcodes.
 * Album: narrow-container column fallbacks now respect the mobile columns setting.

#### 1.3.3

 * Admin: the gallery-item delete button is now always visible (1.3.2 only revealed
   it on card hover, which made it look missing).

#### 1.3.2

 * Admin: polished the gallery-item delete button — it is now a clean circular button(
   white × on a dark circle, red on hover), instead of a default link that WordPress
   core styled blue.

#### 1.3.1

 * Security: the public gallery-render REST endpoint now performs a real read-permission
   check (mirroring WordPress core) and never renders a password-protected gallery
   without its password.

#### 1.3.0

 * Initial WordPress.org release.
 * Galleries and Albums as dedicated custom post types.
 * Responsive grid layout with configurable columns and aspect ratio.
 * PhotoSwipe 5 lightbox (keyboard, arrow, touch swipe).
 * YouTube support — paste a URL, plugin handles thumbnail and playback (cookieless
   mode optional).
 * Native Elementor widget for both galleries and albums.
 * Schema.org ImageGallery markup for SEO.
 * Accessible — ARIA, focus trap, screen-reader friendly.
 * Polylang / WPML compatible; .pot file shipped.
 * No external dependencies bundled — every asset is vendored, zero CDN calls.
 * Extension hooks for the Pro add-on; Pro returns are sanitised through `wp_kses()`
   with a scoped allowlist at every boundary.

## Meta

 *  Version **1.3.6**
 *  Last updated **1 minggu lalu**
 *  Active installations **Kurang dari 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/global-ai-gallery/)
 * Tags
 * [album](https://ms.wordpress.org/plugins/tags/album/)[elementor](https://ms.wordpress.org/plugins/tags/elementor/)
   [gallery](https://ms.wordpress.org/plugins/tags/gallery/)[lightbox](https://ms.wordpress.org/plugins/tags/lightbox/)
   [photoswipe](https://ms.wordpress.org/plugins/tags/photoswipe/)
 *  [Paparan Lanjutan](https://ms.wordpress.org/plugins/global-ai-gallery/advanced/)

## Ratings

No reviews have been submitted yet.

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

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

## Penyumbang

 *   [ Global AI ](https://profiles.wordpress.org/thiagoqvaz/)

## Support

Got something to say? Need help?

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