About the WordPress theme / Plugins

Specific documentation Go to Premium version

A dynamic post grid plugin available as both a Gutenberg block and an Elementor widget — sharing one PHP renderer, so both stay visually identical. A professional WordPress plugin should have a clear structure, good coding practices, proper security, and comprehensive documentation.

Introduction to Free PMT PostGrid for block editor with elementor support.

Post Grid for Gutenberg and Elementor is a dynamic post-listing plugin built by postmagthemes. It registers a single block/widget pair for Gutenberg and a matching widget for Elementor. Both use the exact same underlying PHP rendering functions. This means the output is identical, no matter which builder you use. A fix or new feature only needs to be added once, and it automatically applies everywhere. Design 1, Design 2, and Design 3 remain consistent across both Gutenberg and Elementor. They cannot silently drift apart.

The grid queries your posts live, on every page load — there’s no static snapshot to keep re-saving. Publish a new post, or edit an existing one, and the grid reflects that automatically. On top of the base grid, the plugin includes several advanced features. It provides a live front-end category and sort-order filter powered by AJAX, so users can filter posts without reloading the page. It also supports automatic color coding for each category. For better SEO, it generates JSON-LD structured data. Developers can further extend the plugin using five filter hooks without directly editing the plugin files.

This document covers both versions. Everything under “Features” below is included in the free version. A separate “Pro Version Features” section, clearly marked PRO throughout, covers what’s exclusive to the Pro version.

Features

Three layouts

  • Design 1 — Standard grid: a responsive grid of cards, 2–6 configurable columns, any number of posts, with a “Show more” link when more matching posts exist than are currently displayed.
  • Design 2 — Golden-ratio featured: one large featured post (38.2% width) alongside a 2×2 grid of four smaller posts (61.8% width), always 5 posts total. Empty slots pad out gracefully when fewer than 4 posts are available for the smaller grid.
  • Design 3 — Stacked rows: each post rendered as an image + content row at the golden ratio, with an optional alternating image side (left/right per row) and an automatic related-posts strip (up to 4 posts sharing that row’s category, square images, no reordering).

Query controls

  • Filter by category, author, or hand-pick specific posts by title.
  • Exclude specific posts from the results — the inverse of the specific-posts picker.
  • Order by date or comment count, always newest/most-relevant first.
  • A live, front-end category dropdown and a “Most recent / Most commented” sort dropdown, both AJAX-powered (no page reload), each independently toggle able, and both automatically hidden when Specific Posts is active.
  • The editor’s own category selector shows each category’s post count alongside its name (e.g. “Business (12)”), in both builders.

Content & layout controls present in post grid plugin

  • Toggle featured image, excerpt (adjustable word length), tags, and category badge independently.
  • Author meta — avatar and name, linked to the author’s archive — shown as the first item in meta info, with its own toggle.
  • Auto-rotated category badge colors — each category gets a distinct, consistent color with zero configuration.
  • Optional “Read more” button and an optional main section title, both independently configurable.
  • Drag-to-reorder “Card element order” control (image, category, title, excerpt, tags) — meta info and the Read More button always render last, by design, not reorder able.
  • Design 3 has its own separate element-order control, correctly excluding “image” entirely, since the image is always its own fixed column there.

Style controls

  • Column and row spacing, image corner radius, card corner radius.
  • Full box-shadow control: offset, blur, spread, color, inset.
  • Optional card border: width, style, color.
  • Title font size, with independent adjustable scales for Design 2’s Column B and Design 3’s related-post titles.
  • Left / center / right text alignment.

Post View tracking

Genuine, built-in view counting — not just a display toggle. Hooks into WordPress’s own template_redirect action, so no theme edits are needed. It counts one view per visitor, per post, per day using cookies. Logged-in staff are excluded, so authors and editors do not inflate their own view counts. It also filters out a broad list of common bots and crawlers.

If a dedicated view-counter plugin is already active on the site, it automatically uses that plugin’s count instead. This plugin’s own tracking only takes over as a fallback when no other view-tracking system is available.

SEO & extensibility

  • JSON-LD structured data: a schema.org ItemList block (with a minimal Article per post — headline, url, image, date, author) for richer search results, toggleable per instance.
  • Five developer filter hooks: pmt_post_grid_args, pmt_post_grid_query_args, pmt_post_grid_card_html, pmt_post_grid_category_color, and pmt_post_grid_output — letting themes and other plugins extend or override behavior without editing this plugin’s files.

Editor experience

  • Reset all settings: a one-click reset back to every default value, in both builders — Query, Content, Meta info, Layout, Style, and Typography all at once, with a confirmation prompt since it can’t be undone. In Elementor this lives in its own dedicated section, right after Typography, rather than being tucked inside another section where it’d be easy to miss.
  • Skeleton loading state: while the live category/sort filter’s AJAX request is in flight, the grid shows shimmering placeholder shapes matched to whichever design is active (grid columns, the golden-ratio featured layout, or stacked rows), instead of the content simply fading in place. Falls back to a static placeholder for visitors with reduced-motion preferences.

Admin area

  • A dedicated “Post Grid” menu page in wp-admin, showing postmagthemes’ other WordPress.org plugins and themes.
  • A “Leave a review” admin notice, shown once an administrator has had the plugin active for more than 7 days — dismissible, with a “remind me later” option that pushes the prompt out rather than losing it entirely.

Security & data handling

  • Every user input is sanitized on the way in; every output is escaped on the way out, consistently across every file.
  • No unauthorized external requests — no telemetry, no phone-home, nothing silently contacting a third-party server.
  • Proper uninstall cleanup: a dedicated uninstall.php removes every piece of persistent data the plugin writes (its own settings, its view-count tracking, and the short-lived cache behind the live filter) when the plugin is actually deleted — not just deactivated. Multisite-aware. Never touches the user’s actual block/widget content in posts and pages.

Pro Version Features  PRO

Everything above is included in the free version. The features below are exclusive to the Pro version — each one is marked PRO so it’s clear at a glance which parts of this document require it.

Custom post type & taxonomy support  PRO

The free version is built specifically for regular blog posts. Pro generalizes this: a “Post type” control lets the grid query any registered post type. It is not limited to Posts. The “Taxonomy” control replaces the fixed Category filter found in the free version. It provides a dropdown containing the taxonomies registered for the selected post type. Internal WordPress/Elementor post types and taxonomies are automatically excluded from these dropdowns, so only genuinely relevant options ever show up.

Post-format-aware card images  PRO

When a post uses one of these WordPress post formats, Pro automatically replaces the static featured image with format-appropriate content instead. Hence no configuration needed beyond having “Show featured image” turned on:

  • Video format: embeds the actual video in place of a thumbnail. Checked in order: a self-hosted <video> tag or shortcode first, then YouTube (privacy-enhanced embed) or Vimeo as a fallback — an uploaded video is never skipped in favor of a YouTube link.
  • Audio format: a self-hosted <audio> tag or shortcode first, then SoundCloud or Spotify embeds.
  • Gallery format: a prev/next image slider, when the post’s content contains 2 or more images — visitors can click through them directly on the card.
  • Quote format: pulls the actual quote text from the post’s content as an overlay, rather than showing an unrelated or missing featured image.
different post format

Extra meta info counters  PRO

Four additional meta info toggles beyond what the free version offers:

  • Show word count
  • Show image count
  • Show video count
  • Show post age: a relative time like “2 hours ago,” shown alongside the regular date, not instead of it.
Meta Info

Typography controls  PRO

Pro adds a complete set of typography controls for the four text elements on every card: Title, Category tag, Meta info, and Excerpt. The controls are grouped per element. In Gutenberg each element is a collapsible sub-panel inside the Typography panel; in Elementor each is a popover in the Typography section. The layout differs slightly between the builders, but every control behaves identically in both.

  • Font source: one switch at the top of Typography — System fonts or Google Fonts — that applies to all four elements. Each element’s font family dropdown then shows the matching list. The two sources remember their own selections, so switching back and forth never loses a choice.
  • Font family: System fonts offers Theme Default, System UI, Arial, Georgia, Times New Roman, Verdana, Trebuchet MS, and Courier New, with no external requests. Google Fonts offers a curated list of 39 popular families (21 sans-serif, 11 serif, 4 script/handwriting, and 3 monospace — for example Roboto, Open Sans, Poppins, Playfair Display, Lora, and Roboto Mono).
  • Font size (px): available for Category tag, Meta info, and Excerpt, alongside the existing Title font size. Setting 0 keeps the default size.
  • Letter spacing (px): from −5 to 20 in steps of 0.1. Leave it empty to keep the default; 0 means no extra spacing.
  • Line height: a unitless multiplier from 0.5 to 4 (for example 1.5). Leave it empty to keep the default.
  • Font weight: Default, or 100 (Thin) through 900 (Black).
  • Title group: also holds Title font size, Column B title size (Design 2), and Related post title size (Design 3), so every title setting is in one place. Its font family, letter spacing, line height, and weight apply to all title-like text in the grid — card titles, the optional main section title, related-post titles, and the “Related Posts” label — each of which keeps its own default look until you change a value.

Defaults. Every new control starts empty (or 0 for sizes), and left alone it leaves the card looking exactly as it did before. “Theme” means the element follows the active theme. Each element’s defaults are:

ElementFont sizeLetter spacingLine heightFont weight
Title20pxTheme1.4 (1.3 in Design 2’s smaller cards)Theme heading weight
Category tag12px0.02emTheme500 (Medium)
Meta info12px1px1400 (Regular)
Excerpt14pxTheme1.6Theme body weight

Google Fonts are loaded from Google’s servers only when the Google Fonts source is selected, in Regular (400) and Bold (700); other weights chosen on a Google font are approximated by the browser. The default System fonts source makes no external requests.

Social share buttons  PRO

An optional row of share buttons on each main card, shown right after the meta info and styled to match it: icon-only, with a small share icon leading the row. Choose any of 10 platforms — Facebook, X (Twitter), LinkedIn, WhatsApp, Pinterest, Reddit, Telegram, Tumblr, Email, and Copy link. The first five are selected by default. Each button uses the platform’s standard public share link, so no API keys or app registrations are needed. The row has a fixed position (it is not part of the drag-to-reorder list) and does not appear in the related-posts strip. With animations on, each brand icon takes its brand color and grows to 2× on hover.

Animations  PRO

A single “Enable animations” toggle (on by default) switches six effects on or off together:

  • Image zoom on card hover.
  • Card lift with a deeper shadow on hover.
  • Social icon hover colors and scale.
  • Gallery slider crossfade between images.
  • Grid entrance: cards fade up as they scroll into view, staggered so long grids don’t leave late cards waiting. Cards stay fully visible if the script is blocked, and the effect is skipped for visitors who prefer reduced motion.
  • Filter transition: a smooth fade when the live category/sort filter swaps in new results.

Post format styling toggle  PRO

A “Use post format styling” switch (on by default) in the Content controls of both builders, right after “Show featured image”. Turn it off and every post shows its regular featured image whatever its post format — useful when you use formats only to organize content and don’t want the Video, Audio, Gallery, or Quote treatment on the grid. It only appears while “Show featured image” is on.

Runs alongside the free version  PRO

Pro is a separate plugin with its own namespaced identifiers, so it can be active at the same time as the free version without conflicts. It has its own block (pmt-pro/post-grid), its own Elementor widget name, and its own CSS classes, scripts, REST route, settings, and developer hooks. Both versions’ blocks and widgets appear in their builders and can be used on different pages of the same site. Pro also adds a “Post Grid by Postmagthemes” category to the block inserter.

  • Pro developer hooks: prefixed pmtpofob_post_grid_pro_ — args, query_args, card_html, category_color, output, and structured_data, plus excluded_post_types and excluded_taxonomies to control which post types and taxonomies are hidden from the pickers.

Built to stay in sync

Every setting is wired through shared PHP functions rather than duplicated per builder or per layout. Both the Gutenberg block and the Elementor widget call the same pmt_post_grid_build_markup() family of functions. So a fix applied once is a fix applied everywhere.

Github

Actively developed in GitHub: Post Grid for Gutenberg and Elementor

Compatibility

Plugin is compatible with all free themes and premium themes created by postmagthemes and other renowned themes.