
Dynamic Post Grid is a lightweight, SEO-friendly plugin for displaying posts, pages, custom post types, and WooCommerce products in beautiful grid, masonry, list, and slider layouts. It works three ways: as a Gutenberg block, a standalone Shortcode Builder (no page builder needed), and an Elementor widget.
What makes this plugin different? Unlike other grid plugins that lock you into fixed templates, Dynamic Post Grid uses a block-based layout builder. Each grid is a JSON document describing individual blocks — making layouts serializable, exportable, shareable, and composable. Combined with transient caching, REST API, and Abilities API, it’s built for performance and developer flexibility.
Core Features
- Elementor Widget — Drag-and-drop post/product grids directly inside Elementor with 7 layout styles and full styling controls.
- Gutenberg Block — Native Block Editor integration with layout selector and attribute overrides.
- Standalone Shortcode Builder — Build custom post grids with a visual drag-and-drop block editor. No Elementor required.
- 4 Layout Modes — Grid, Masonry, List, and Slider layouts with responsive columns.
- 14 Block Types — Thumbnail, title, meta, excerpt, read more, terms, divider, spacer, custom HTML, button, price, rating, custom field, and slider.
- 10 Hover Effects — Zoom In, Zoom Out, Grayscale to Color, Blur, Brightness, Overlay Fade, Overlay Slide Up, Overlay Slide Left, Overlay Scale, and Border Draw.
- AJAX Category Filtering — Category filter buttons that reload the grid without page refresh.
- Load More Pagination — AJAX-powered load more button for paginated grids.
- Infinite Scroll — Automatic loading via Intersection Observer when scrolling near the bottom.
- 8 Style Presets — Built-in layout presets plus save and reuse your own custom presets.
- WooCommerce Ready — Display products with price, ratings, add-to-cart buttons, and sale badges.
- Transient Caching — Server-side caching for grid output with automatic invalidation.
- REST API — Full API access to grid data for headless/decoupled usage.
- Abilities API — WordPress 6.9+ AI-agent-ready abilities for programmatic grid operations.
Shortcode Reference
Basic Usage
[depg_grid id="123"]
All Attributes
[depg_grid id="123" layout_mode="grid" columns="3" per_page="6" orderby="date" order="DESC" filter="yes" filter_tax="category" load_more="yes" infinite_scroll="yes"]
Attribute
Type
Default
Description
id
integer
(required)
Shortcode post ID
layout_mode
string
grid
Layout mode: grid, masonry, list, or slider
columns
integer
3
Number of columns (1-4)
per_page
integer
6
Posts per page (-1 for all)
orderby
string
date
Sort by: date, title, ID, modified, rand, menu_order
order
string
DESC
Sort direction: ASC or DESC
filter
string
no
Show filter buttons: yes, 1, or true
filter_tax
string
auto
Taxonomy for filter buttons
load_more
string
no
Show Load More button: yes, 1, or true
infinite_scroll
string
no
Enable infinite scroll: yes, 1, or true
REST API
Endpoint: GET /wp-json/depg/v1/grid/{id}
Parameters: page, per_page, filter (term ID), taxonomy, layout_mode
Response:
json
{
"settings": {
"post_type": "post",
"layout_mode": "grid",
"columns": 3,
"per_page": 6,
"orderby": "date",
"order": "DESC"
},
"blocks": [...],
"posts": [
{
"id": 123,
"title": "Hello World",
"permalink": "https://example.com/hello-world/",
"excerpt": "This is a sample post...",
"date": "2026-07-18T10:00:00+00:00",
"author": { "id": 1, "name": "Admin" },
"featured_image": { "src": "...", "alt": "..." },
"terms": [{ "taxonomy": "category", "name": "Uncategorized" }]
}
],
"paging": {
"current_page": 1,
"max_num_pages": 5,
"total_posts": 48,
"remaining": 42
}
}
Abilities API (WordPress 6.9+)
Ability
Type
Description
dynamic-post-grid/render-grid
Read-only
Render a grid as HTML
dynamic-post-grid/get-grid-data
Read-only
Get structured post data as JSON
dynamic-post-grid/create-shortcode
Write
Create a new grid programmatically
dynamic-post-grid/export-layout
Read-only
Export layout as portable JSON
dynamic-post-grid/import-layout
Write
Import a layout JSON
Execute via: POST /wp-json/wp-abilities/v1/execute/{ability-name}
Screenshots

Elementor Grid Layout

Elementor List Layout

Elementor Slider Layout

Shortcode Builder — Post Query and Layout Mode selector

Shortcode Builder — Layout Canvas with Drag-and-Drop Blocks

Style Presets

Advance — Meta Query and Cache controll