WordPress Plugin

Admiral
Portrait Gallery

A dark, editorial-grade picture gallery for WordPress. Renders featured images from your posts in a strict portrait grid — every thumbnail forced to 3:4, every layout intentional.

Free Forever
GPL Licensed
WP 5.8+ Compatible
PHP 7.4+ Required
What it does

Everything a gallery should be

Built for WordPress sites that care about visual presentation.

🖼

Portrait-Forced Thumbnails

Every image is cropped to a strict 3:4 portrait ratio regardless of the original orientation. No more mismatched landscape and portrait images ruining your grid.

AJAX Pagination

Pages load instantly without a full browser reload. Smooth fade transitions keep the experience polished. Users stay engaged, not waiting.

📂

Category Filtering

Pull images from one category, multiple categories, or all of them. Mix and match per shortcode — drop different galleries on different pages.

Hover Overlays

Title, category badge, and date reveal on hover with a silky animation. Click takes visitors directly to the post — no lightbox detour.

📐

2 to 5 Columns

Choose 2, 3, 4, or 5 columns per gallery. Columns can be set globally in settings or overridden per shortcode. Fully responsive on mobile.

Accessible by Default

Proper ARIA labels on every element, keyboard-navigable pagination, lazy-loaded images, and semantic HTML throughout. Screenreader friendly.

Usage

One shortcode, infinite layouts

Drop it anywhere — pages, posts, widgets, or page builders.

WordPress Shortcode
[admiral_gallery]  // Uses your global settings
[admiral_gallery
  categories="3,7"
  per_page="9"
  columns="3"
]
[admiral_gallery
  categories="3,7,12"    // comma-separated IDs
  per_page="12"         // images per page
  columns="3"           // 2, 3, 4, or 5
  show_title="1"       // show title on hover
  show_excerpt="0"     // show excerpt on hover
  label="Latest Photos" // header label text
]
Parameter Description Default
categoriesComma-separated category IDs to pull posts fromAll categories
per_pageNumber of images to show per paginated page12
columnsNumber of grid columns: 2, 3, 4, or 53
show_titleShow post title in hover overlay (0 or 1)1
show_excerptShow post excerpt in hover overlay (0 or 1)0
labelDecorative header text above the gallery gridGallery
Get started

Up and running in 60 seconds

Search & Install

Go to Plugins → Add New in your WordPress dashboard. Search for Admiral Portrait Gallery and click Install Now.

Activate

Click Activate. The plugin is now live. A new menu item appears under Settings → Admiral Gallery.

Configure

Choose your source categories, number of columns, images per page, and hover options. Save your settings.

Embed

Paste [admiral_gallery] into any page, post, or widget. That's it — your gallery is live.

Questions

Frequently asked

That's the point. Admiral Portrait Gallery enforces a strict 3:4 portrait ratio on every thumbnail using CSS. Landscape images are cropped from the centre-top so faces and subjects remain in frame. This keeps your grid visually consistent — a mix of portrait and landscape thumbnails looks chaotic.
Yes. Each [admiral_gallery] shortcode is fully independent with its own category filter, column count, and pagination. You can drop multiple galleries on the same page pointing to different categories.
Yes. The shortcode works anywhere WordPress shortcodes are accepted — Gutenberg (as a Shortcode block), Elementor (Shortcode widget), Divi (Code module), WPBakery, and classic widgets.
We recommend at least 600×800px in portrait orientation for best quality. The plugin uses WordPress's registered large image size for thumbnails. Any size works — landscape images will simply be cropped to fit the portrait frame.
Yes — edit the --apg-ratio CSS variable in assets/css/gallery.css. Use 133.33% for 3:4 (default), 100% for square, 75% for 4:3 landscape, or 150% for a taller 2:3 portrait.
Completely free. GPL-2.0 licensed. No pro tier, no upsells, no nag screens. The full plugin with all features is available on WordPress.org at no cost.

Your gallery deserves to be portrait

Install in 60 seconds. Free forever. No account required.

GPL-2.0 · Requires WordPress 5.8+ · PHP 7.4+