xpay✦ Commerce
Directory
WooCommerce plugins
Dynamic Post Grid – Gutenberg Blocks, Shortcodes & Elementor Addon
Dynamic Post Grid – Gutenberg Blocks, Shortcodes & Elementor Addon
Build beautiful post grids with Gutenberg blocks, shortcodes, or Elementor. Features grid, masonry, list & slider layouts, AJAX category filters, …
Will this break my store?
What the WordPress.org registry says about keeping Dynamic Post Grid – Gutenberg Blocks, Shortcodes & Elementor Addon running.
Tested to 7.0.2
Tested against the WordPress branch in use today.14 days ago
At least 10.8 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.5.6
Your host must be running at least this version.5.0
1
A single maintainer. Worth knowing if the plugin is load-bearing for your store.Maintenance & trust
Scored on how Dynamic Post Grid – Gutenberg Blocks, Shortcodes & Elementor Addon is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
20 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
7 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
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}
The Elementor widget requires Elementor 3.0 or higher. However, the Standalone Shortcode Builder works independently — you can use the [depg_grid] shortcode in the Block Editor, classic editor, widgets, or any page builder.
Go to Grid Shortcodes > Add New in your WordPress admin. Give your layout a title, configure the query settings (post type, columns, etc.), drag blocks into the layout builder, and publish. Copy the generated shortcode and paste it into any post, page, or widget area.
Three layout modes are available in the Post Query settings:
- Grid — Classic column-based grid layout.
- Masonry — Pinterest-style layout with CSS columns (no JavaScript dependency).
- List — Horizontal layout with featured image on the left and content on the right.
You can also override the layout mode via shortcode attribute:
[depg_grid id="123" layout_mode="masonry"]
Hover effects are configured per Thumbnail block. In the Layout Builder, click Settings on a Thumbnail block and select a hover effect from the dropdown. Available effects:
- Zoom In — Image scales up on hover.
- Zoom Out — Image starts zoomed and scales to normal on hover.
- Grayscale to Color — Image transitions from black-and-white to full color.
- Blur — Image blurs on hover.
- Brightness — Image brightens on hover.
- Overlay Fade — Dark overlay with link icon fades in.
- Overlay Slide Up — Dark overlay slides up from bottom.
- Overlay Slide Left — Dark overlay slides in from the right.
- Overlay Scale — Circular overlay expands from center (Material Design style).
- Border Draw — Blue border appears on hover.
Enable filtering in the Post Query section by checking “Show category filter buttons”. On the frontend, clicking a filter button reloads the grid content via AJAX without a page refresh. The filter respects your category restrictions — if you limit the grid to specific categories, only those categories appear as filter buttons.
You can also enable it via shortcode attribute:
[depg_grid id="123" filter="yes" filter_tax="category"]
Enable Load More in the Post Query section by selecting “Load More” as the pagination mode. A “Load More (X remaining)” button appears below the grid. Clicking it loads the next page of posts via AJAX and appends them to the grid. The button disappears when all posts are loaded.
Enable Infinite Scroll in the Post Query section by selecting “Infinite Scroll” as the pagination mode. As the user scrolls near the bottom of the grid, new posts are automatically loaded via AJAX and appended to the grid. A spinner shows while loading, and a “No more posts” message appears when all posts are loaded.
You can also enable it via shortcode attribute:
[depg_grid id="123" infinite_scroll="yes"]
Grid output is cached using WordPress transients for 1 hour by default. Cache is automatically invalidated when:
- A post is saved, deleted, or its status changes.
- A grid shortcode is updated.
- You click “Clear All Grid Cache” in the Shortcode Builder.
You can change the cache duration with the depg_cache_duration filter:
add_filter( 'depg_cache_duration', function() { return 30 * MINUTE_IN_SECONDS; } );
All grid data is available via REST API for headless/decoupled usage:
GET /wp-json/depg/v1/grid/{id}
Optional parameters: page, per_page, filter (term ID), taxonomy, layout_mode.
The response includes structured post data (title, permalink, excerpt, author, featured image, terms) and paging information. No authentication required.
On WordPress 6.9+, the plugin registers 5 AI-agent-ready abilities that can be discovered and executed by AI agents, automation tools (Zapier, n8n), and MCP servers:
dynamic-post-grid/render-grid— Render a grid as HTML.dynamic-post-grid/get-grid-data— Get structured post data as JSON.dynamic-post-grid/create-shortcode— Create a new grid programmatically.dynamic-post-grid/export-layout— Export a grid layout as portable JSON.dynamic-post-grid/import-layout— Import a layout JSON.
Yes. You can pass any of these attributes to override the saved settings:
[depg_grid id="123" layout_mode="masonry" columns="2" per_page="12" orderby="title" order="ASC" filter="yes" load_more="yes"]
Available attributes: id (required), layout_mode (grid/masonry/list), columns (1-4), per_page (number of posts), orderby (date, title, ID, modified, rand, menu_order), order (ASC or DESC), filter (yes/1/true), filter_tax (taxonomy slug), load_more (yes/1/true).
Yes. Build a layout in the Shortcode Builder, click Save Current as Preset, enter a name, and save. Your custom presets appear in the My Presets dropdown alongside the built-in presets.
Yes. Use the REST API or Abilities API to export a grid configuration as JSON. The JSON contains the full settings and block configuration. Import it on another site to create an identical grid.
Yes. Select “Product” as the post type in the query settings. The shortcode builder includes Price and Rating blocks specifically for WooCommerce products.
Yes. It works with all WordPress themes.
Categories
Plugin details
Tags on WordPress.org
