Custom Layouts – Post + Product grids made easy
Build a list or grid layout of any post type (products, pages, posts + more).
The visual editing experience makes creating unique designs a breeze.
- Design post templates (cards) using our drag and drop builder
- Built for both Gutenberg users and non Gutenberg users (blocks + shortcodes available)
- Query builder – select from multiple post types or restrict by tags, categories, taxonomies, authors and more
- Works with any theme
- No coding required
- Responsive options
Links
- Website
- Examples
- Documentation
- Follow us for updates and tips
What can you make with this plugin?
- Popular posts widget
- Recent posts widget
- A shop layout for listing products (*when combined WooCommerce, Easy Digital Downloads and other product plugins)
- A post grid
- A portfolio grid
- Masonry layouts
- Custom post type layouts
And much more…
Layout Editor
Build single column or grid based layouts using the visual editor.
- Supports Masonry out of the box
- Tons of design options to build the layout you want
- Choose to add numbered Pagination ( ‘Load more’ and ‘Infinite scroll’ options are planned )
- Powerful query builder
- Responsive columns (choose how many columns to show for each device size – and set your own breakpoints)
Query Builder
Options include:
- Multiple post type selection
- Tag, category and custom taxonomy restriction
- Single author or multiple author restriction
- Ordering by – post title, published date (for recent posts), modified date, post ID, comment count (for popular posts), author
- Posts per page
- Offset
- Ignore sticky posts
Template Editor
- Design individual templates (cards) using our drag and drop editor – creativity is your only limit
- Link them with your layouts to build beautiful designs
- Hundreds of design options
- Unique blocks for building templates + template editor
- granular control over the blocks you add to your design – choose from a growing list
- to re-arrange blocks, just drag and drop
- each block has it’s own sidebar full of options such as spacing, colors (including gradients + alpha transparencies), font settings, borders, and more.
- Currently available blocks: Post Title, Post Type, Post Excerpt, Post Author, Published + Modified Date, Custom Field, Taxonomies, Link, Basic Text (with shortcode support).
Find out more about our template blocks.
Gutenberg integration
- Custom blocks for building layouts
- Seamlessly integrates with our Template Editor
- UI built using 90% Gutenberg components 👍
- Experimental FSE Query block support (drop our Post Template block into the Query block…)
- Works with the version of Gutenberg shipped in WP core, and the Gutenberg plugin (using the latest stable build)
Built for speed
- At its base – loads only 1 css file and 1 javascript file on the frontend – total bundle size approx 15kb.
- CSS file dynamically created, saving resources and requests per page load (+ avoiding inline CSS)
- Caches posts + queries for optimum performance
- Not jQuery dependant
Includes 7 sample templates
We’ve included a pack of templates ready for you to customise – check the installation tab for how to import these to your site.
Multilingual ready
Custom Layouts should support most multilingual plugins – we use a custom post type to store content that is not stored in the block editor.
* We’ve also added specific support for WPML’s Advanced Translation Editor.
Known Issues
- Admin Template Editor only works on desktop computers (tablets + mobiles not supported)
- Admin Template Editor does not work on IE, all other major browsers supported – ** the frontend of this plugin supports IE 11+, no sweat
Roadmap
- Improve performance and load speed by providing an option to use CSS Grid for layouts + masonry
- Support more CSS unit types in more places
- Blocks for WooCommerce
- Blocks for ACF
- More template blocks (possibly use the block library)
- Additional hover options
- Additional font options.
- Social/sharing blocks
Reviews help us improve (and climb the plugin rankings)
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| m*w*r*d.com | F | Jun 30, 2026 | |
| s*d*o*d.pro (WP 7.0) | F | Jun 30, 2026 | |
| c*e*i*s.fr (WP 6.7.1) | F | Jun 30, 2026 | |
| m*h*s*l*s.com | F | Jun 30, 2026 | |
| t*a*s*n*e*q*e*r.org (WP 7.0) | F | Jun 30, 2026 | |
| m*-*r.com | F | Jun 30, 2026 | |
| p*a*t*s.fr | F | Jun 30, 2026 | |
| c*t*c*a*a*e*i*a*.com | F | Jun 30, 2026 | |
| b*z*.nl (WP 5.7.15) | F | Jun 30, 2026 | |
| w*h*o*e*l*h.com (WP 7.0) | D | Jun 30, 2026 | |
| i*s*i*u*e*o*s*e*t*r*a*e.org | F | Jun 30, 2026 | |
| g*m*.co (WP 7.0) | D | Jun 30, 2026 | |
| p*l*e*s*i*e*t*o*o*.com | F | Jun 30, 2026 | |
| c*l*g*o*r*m*n*l*g*s*a*r*d.es | B | Jun 30, 2026 | |
| m*w*o*e*c*o*l*.org | F | Jun 30, 2026 | |
| p*l*o*s*l*t*o*s.com | D | Jun 30, 2026 | |
| f*e*e*i*g*r*u*r*.ca (WP 7.0) | F | Jun 30, 2026 | |
| g*e*y*o*f*c*a*.com | F | Jun 30, 2026 | |
| w*a*o*u*.com | F | Jun 30, 2026 | |
| s*n*b*r*r*o*s*s*a*s.com (WP 7.0) | B | Jun 30, 2026 | |
| s*r*k*o*p*e*e*s*r.no | F | Jun 30, 2026 | |
| n*t*u*t*n*o*a*h*r*.org | F | Jun 30, 2026 | |
| s*m*r*l*g*i*s*r*a*.com | B | Jun 30, 2026 | |
| s*m*r*l*g*n*m*d*t*e*m.com | B | Jun 30, 2026 | |
| s*m*r*l*g.com | B | Jun 30, 2026 | |
| s*m*r*i*f*a*t*u*t*r*.com | B | Jun 30, 2026 | |
| s*m*r*i*f*a*s*r*c*u*a.com | B | Jun 30, 2026 | |
| m*v*i*u.com (WP 7.0) | F | Jun 30, 2026 | |
| s*m*d*l*r*y*a.com (WP 6.9) | D | Jun 30, 2026 | |
| p*o*u*u*a.com | D | Jun 30, 2026 | |
| c*n*r*l*r*u*.science (WP 7.0) | F | Jun 30, 2026 | |
| f*c*i*a*e*.com (WP 7.0) | F | Jun 30, 2026 | |
| l*s*a*a*.com (WP 7.0) | F | Jun 30, 2026 | |
| p*r*y*o*o.c*m.sg (WP 6.8.5) | F | Jun 30, 2026 | |
| e*p*e*s*e*a*k.org (WP 7.0) | D | Jun 30, 2026 | |
| f*r*i*p*e*.fr (WP 7.0) | F | Jun 30, 2026 | |
| c*r*i*.eu (WP 7.0) | F | Jun 30, 2026 | |
| b*c*k*i*e*m*l.hu (WP 7.0) | F | Jun 30, 2026 | |
| i*a*i*g*u*u*o.com | F | Jun 30, 2026 | |
| m*s*c*o*r*-*e*l*n.de (WP 7.0) | D | Jun 30, 2026 | |
| r*d*i*e*p*c*.eu | F | Jun 30, 2026 | |
| t*e*a*h*l*f*.c*m.au (WP 7.0) | F | Jun 30, 2026 | |
| w*s*v*r*i*d*.nl | F | Jun 29, 2026 | |
| w*b*n*i*e.sk | F | Jun 29, 2026 | |
| p*o*a*i*z*g*i*i.it (WP 6.8.3) | F | Jun 29, 2026 | |
| o*t*.nl (WP 7.0) | F | Jun 29, 2026 | |
| o*d*s*o*u*r*.c*m.br (WP 7.0) | F | Jun 21, 2026 | |
| e*e*m*r*c*n*r*.ca | F | Jun 20, 2026 | |
| t*e*i*l*n*o*f*r*.c*.uk (WP 7.0) | C | Jun 20, 2026 | |
| 6*e*o*d*.com | F | Jun 20, 2026 | |
| f*e*w*i*e.com | F | Jun 18, 2026 | |
| v*v*l*z.c*m.br | C | Jun 17, 2026 | |
| s*h*l*m*e*d*r*e*.nl (WP 7.0) | F | Jun 17, 2026 | |
| p*t*n*a*i*e*a*u*t*r*.it (WP 7.0) | F | Jun 16, 2026 | |
| w*b*u.sk | F | Jun 16, 2026 | |
| u*b*n*k*b*.cz | F | Jun 15, 2026 | |
| h*u*d*r*u*e*d*e*c*s*a*t*.de (WP 7.0) | D | Jun 15, 2026 | |
| l*s*n.ch (WP 6.9.4) | F | Jun 15, 2026 | |
| c*i*o*t*s*i*v*.it (WP 7.0) | F | Jun 15, 2026 | |
| t*u*e*e*.com | F | Jun 14, 2026 | |
| o*d*s*o*u*.c*m.br (WP 7.0) | F | Jun 14, 2026 | |
| d*h*e*k*p*e*s*w*g.nl (WP 7.0) | F | Jun 14, 2026 | |
| t*u*d*w*a*d.nl (WP 6.6.5) | F | Jun 14, 2026 | |
| b*t*n*c*.gallery (WP 7.0) | F | Jun 14, 2026 | |
| s*o*l*n*3*0*l*g.c*.uk (WP 7.0) | F | Jun 14, 2026 | |
| h*v*n*e*t*e.be (WP 7.0) | F | Jun 13, 2026 | |
| i*f*c*a*a*.org | A | Jun 13, 2026 | |
| c*b*r*d*v.eu (WP 7.0) | F | Jun 13, 2026 | |
| q*o*.c*.in (WP 7.0) | F | Jun 13, 2026 | |
| s*t*m*s.net (WP 7.0) | F | Jun 13, 2026 | |
| c*r*e*r*.org | F | Jun 13, 2026 | |
| s*t*m*r*i*.es (WP 7.0) | F | Jun 13, 2026 | |
| v*y*g*s*l*u*e.com (WP 7.0) | F | Jun 13, 2026 | |
| t*e*i*l*n*.c*.uk (WP 7.0) | C | Jun 13, 2026 | |
| z*k*n*t*j*g*n*a*b*i*.de | F | Jun 12, 2026 | |
| t*g*e*f*e*e*s*h*l*n.de (WP 6.9.4) | F | Jun 12, 2026 | |
| w*n*e*l*e*t.de (WP 7.0) | F | Jun 12, 2026 | |
| s*h*h*a*t*f*s*.net | F | Jun 12, 2026 | |
| l*n*e*n*-*h*p.fr (WP 7.0) | F | Jun 12, 2026 | |
| f*m*2*3*.g*v.pt | F | Jun 12, 2026 | |
| l*v*e*k.c*m.br | F | Jun 12, 2026 | |
| p*b*n*l*t*c*l.com (WP 7.0) | F | Jun 12, 2026 | |
| f*e*t*r.ai | F | Jun 12, 2026 | |
| s*m*e*o*e*t*t*.org (WP 7.0) | F | Jun 11, 2026 | |
| c*r*s*u*k*r*h*-*a*b*r*.de (WP 6.9.4) | F | Jun 11, 2026 | |
| t*o*a*-*l*n*b*r*.de | C | Jun 10, 2026 | |
| 1*8*a*l*k*.com (WP 7.0) | A | Jun 10, 2026 | |
| f*e*d*m*h*b.eu (WP 7.0) | F | Jun 10, 2026 | |
| n*w*o*i*o*s.o*g.au | F | Jun 9, 2026 | |
| o*g*n*-*r*.com (WP 6.9.4) | D | Jun 8, 2026 | |
| p*r*u*m*n*n*i*l*s.org (WP 7.0) | F | Jun 8, 2026 | |
| o*n*x*l*b*l*c.com (WP 7.0) | F | Jun 8, 2026 | |
| d*z*g*.it | F | Jun 8, 2026 | |
| e*t*e*m*u*e*.ch | F | Jun 7, 2026 | |
| l*m*.de (WP 7.0) | F | Jun 7, 2026 | |
| y*u*h*n*i*i*e*.org | F | Jun 7, 2026 | |
| m*s*i*m*s*e*p*e*e*.com | F | Jun 7, 2026 | |
| a*-*a*.ca (WP 6.9.4) | F | Jun 7, 2026 | |
| b*g*o*t*g*i*a*s.com (WP 7.0) | D | Jun 7, 2026 | |
| p*r*m*n*g*m*n*k*p*e*s*w*g.nl (WP 7.0) | F | Jun 6, 2026 |