Most WordPress sites end up needing the same few things: a grid of recent posts, a featured section on the homepage, and a banner for announcements. The usual answer is a page builder or a stack of separate plugins, each bringing its own UI and its own frontend scripts.
Quovex Blocks is a free WordPress plugin that does all three as native Gutenberg blocks, with the frontend interactivity running on the WordPress Interactivity API instead of jQuery.
▶️ Watch the 2-minute demo: https://youtu.be/ADyo0WuhiR0
The three blocks
Query Grid
A filterable, paginated grid that works with any public post type: Posts, Pages, WooCommerce products or your own custom post types.
- Grid, List, Masonry and Carousel layouts
- Search bar and taxonomy filter pills (multi-select within a taxonomy), optionally in a left or right sidebar
- Numbered pagination or a "Load more" button, plus a "Show all posts" toggle
- Responsive column counts, plus color and typography controls that use your theme's fonts
Content Showcase
A magazine-style section for up to three posts.
- Magazine, Split, Overlay and Two-Thirds/One-Third layouts
- Automatic mode (latest posts, optionally filtered by taxonomy) or manual mode (hand-pick a post for each slot)
- Image hotspots: pins you place on a post's image, each opening a popover with its own title, text and link
Notification Banner
A dismissible announcement bar or inline alert.
- Announcement, Info, Success and Warning presets, with five style variations
- Emoji, dashicon or SVG icon picker, and an optional call-to-action button
- Dismissal is remembered in the visitor's browser, so a closed banner stays hidden on their next visit
How it's built
Dynamic blocks + the Interactivity API
Query Grid and Content Showcase are dynamic blocks rendered in PHP through render.php, so the first paint is plain server-rendered HTML. Frontend behavior (search, filters, pagination, the carousel and hotspots) is attached with the Interactivity API through a viewScriptModule, so it ships as a script module and no jQuery or other framework is loaded.
Here's the relevant part of Query Grid's block.json:
{
"apiVersion": 3,
"name": "quovex-blocks/query-grid",
"render": "file:./render.php",
"viewScriptModule": "file:./view.js",
"supports": {
"interactivity": true
}
}
Clicking a page number swaps in the new results without a full page reload, but the address bar updates to a real URL, and opening that URL directly server-renders the correct page. So visitors get instant navigation, and crawlers still get normal, followable links. The pagination URL segment is configurable (for example /your-site/quovex-page/2/) as a site-wide setting.
Layouts as style variations
Every layout is a native block style variation. Switching from Grid to Masonry, or from Magazine to Overlay, is one click in the editor's Styles panel, with no custom layout picker to learn.
A cache that invalidates itself
Query results are cached and cleared automatically the moment a post, category or tag changes, so repeat visits stay fast without serving stale content. Nothing is loaded on pages that don't use the blocks.
Clean uninstall
Deactivating leaves everything in place in case you come back. Deleting the plugin runs uninstall.php, which removes every option and cached value the plugin created.
- Built with
@wordpress/scripts using --experimental-modules and --blocks-manifest
- PHP classes autoloaded via PSR-4, with a built-in fallback loader so the shipped plugin needs no
vendor/ folder
- PHPUnit tests, PHPCS and ESLint, with Husky pre-commit hooks
- GitHub Actions for CI, and a workflow that deploys new tags to WordPress.org
Try it
The plugin is free on WordPress.org. In your dashboard, go to Plugins → Add New and search for "Quovex Blocks".
Feedback and issues are welcome on GitHub, and a review on WordPress.org helps other people find it.
I'm Akshat Saxena, a Senior WordPress Developer with 8+ years in WordPress, working across WooCommerce, Gutenberg/FSE and custom plugins. If you're looking for someone to build or extend a WordPress product, feel free to reach out on LinkedIn.