GeneratePress

Design it once.
Your content fills it in.

List any type of content, fill your layouts from each post’s own details, and show blocks only when your rules say so.

Query selected over Acme’s coffee grid, the Query inspector at Post Query, Post type Coffees
The loop’s result: Acme’s coffee grid two across

List any content, designed your way.

Choose which posts to show with the Query block, design one item with ordinary blocks, and every result uses that layout.

The Query inspector: query type, pagination type, post type Coffees
The Query inspector: Standard pagination and post type Coffees

Titles, images and dates, pulled in for you.

Add a dynamic tag to any text, image or link and it shows that post’s title, date, excerpt, featured image, author or terms.

The Dynamic Tags dialog: excerpt length 55, the post excerpt tag ready to insert, required to render
The Dynamic Tags dialog: Post Excerpt selected, source Current Post

Show blocks only when they apply.

Set a display condition on any block, menu item or popup, such as who’s logged in or which page they’re on, and it appears only when the condition is met.

A condition group matching all of these: if Location is Blog
A condition group: if Location is Blog

Full control of the markup.

Add any HTML attribute to any block, from an aria-label for screen readers to a data attribute for your own scripts.

The block inspector’s HTML attributes: aria-label set to the post title tag, a pending data-trigger of overlay-123
The block inspector’s HTML attributes: aria-label set to the post title tag, a pending data-trigger of overlay-123

Lay out your content with GeneratePress One.

The Query block and the post tags come free with GenerateBlocks. GeneratePress One adds more tags, ACF fields and display conditions.

Get GeneratePress One

30-day refund