How to create custom content displays in WordPress
You can create custom content displays in WordPress with the native Query Loop block, custom post types, taxonomies, and theme templates. The core route is fine for straightforward lists and grids; use a visual view builder when you need custom fields, advanced filters, or reusable layouts without code.
- 01Define the content structure
- 02Prepare your custom content
- 03Build the native display
- 04Design the repeated item
- 05Use theme templates when needed
- 06Choose a visual view builder
What you need
- WordPress administrator access
- A clear content structure and display layout
- A block theme or classic theme that supports your chosen layout
- Custom post types or fields if the display uses data beyond titles, images and content
Define the content structure
Decide what each item needs before building the display. For a directory, for example, you might need a title, featured image, description, location, category and contact link. Use standard posts or pages when those fields are enough.
If the content is a separate type, such as products, properties or team members, use a custom post type. WordPress recommends registering custom post types in a plugin rather than a theme so the content remains available if the theme changes. Custom taxonomies are useful for grouping and filtering those items.
Prepare your custom content
Add the content and assign consistent categories, tags or custom taxonomy terms. You can use WordPress custom fields for simple extra values, but the Custom Fields panel is hidden in the block editor until you enable it under the editor preferences.
If you are registering a custom post type in code, make sure it is exposed to the block editor and REST API where required. A post type that is registered without the needed editor support may not appear as an option in the Query Loop. If its URLs are wrong after registration, save the permalink settings once to refresh rewrite rules.
Build the native display
Edit the page or template where the list should appear and insert a Query Loop block. Choose a pattern or start blank, then select the post type, number of items, ordering and filters. If the post type and filter controls are missing, select the outer Query Loop block and change Query type from Default to Custom.
Use taxonomy, author, keyword or exclusion filters where they fit. Add Pagination and a No Results message so visitors are not left with an empty area when the query has no matches. Remember that a default loop may inherit the page or archive query instead of using your intended custom selection.
Design the repeated item
Select the nested Post Template block and choose a list or grid layout. Add the post title, featured image, excerpt, date, author, categories, buttons or layout blocks such as Group, Columns or Row. Every change inside Post Template is repeated for each result.
Check the link settings rather than assuming the item is clickable. Titles and featured images do not automatically link to the post in every Query Loop layout, so enable the title link and the featured image's Link to post option where needed.
Use theme templates when needed
For a site-wide archive or single-item display, edit the relevant template in the Site Editor if you use a block theme. With a classic theme, the normal template files for a custom post type are single-{post_type}.php and archive-{post_type}.php. WordPress selects templates through its template hierarchy.
This manual route gives you precise control, but it requires theme editing, PHP and CSS. It also becomes awkward when editors need to change queries, custom-field output, sorting or front-end filters without developer help. Keep custom post type registration in a plugin, not in the theme, to avoid losing the content structure during a redesign.
Choose a visual view builder
The native Query Loop is a good choice for a simple posts, pages or custom post type list. For complex custom-field layouts, visual queries, reusable templates, front-end filtering, sorting or pagination, a view builder can reduce the amount of theme code required.
WP Toolset Views is a suitable faster route when you want no-code control over custom data layouts. It provides visual queries, templates and filters for dynamic displays, while still allowing the result to be placed in pages or templates. Treat it as an alternative to building and maintaining those query and display rules manually.
Let WP Toolset Views do it
Visual queries, templates, and filters for dynamic content displays; choose it when you need no-code control over custom data layouts.
Sources
- developer.wordpress.org /plugins/post-types/registering-custom-post-types/?utm_sourc…
- wordpress.org /documentation/article/assign-custom-fields/?utm_source=open…
- developer.wordpress.org /reference/functions/register_post_type/?utm_source=openai
- wordpress.org /documentation/article/query-loop-block/?utm_source=openai
- developer.wordpress.org /plugins/post-types/working-with-custom-post-types/?utm_sour…
Questions
- Can I create a custom content display without a plugin?
- Yes, you can create straightforward lists and grids with WordPress's Query Loop block, and developers can build more specialised displays with custom post types, queries and theme templates. The native route becomes limited when you need custom-field output, advanced meta filtering, editor-managed templates or front-end search controls, which are the point at which a dedicated view builder is usually more practical.
- Why does my custom post type not appear in Query Loop?
- A custom post type may not appear because it is not exposed to the block editor or REST API, the Query Loop is still using its Default query type, or the block editor is not available for that post type. Select the outer Query Loop block, change Query type to Custom, and check the post type registration and editor support.
- Can Query Loop display custom fields?
- Query Loop can display standard post data such as titles, excerpts, dates and featured images, but displaying arbitrary custom-field values in a fully visual way depends on the field registration, theme and available block bindings. WordPress's custom-fields panel stores values, but connecting those values to repeated blocks may require code or a plugin.
- How do I make each item in a custom display clickable?
- Select the title block inside Post Template and enable its title link setting, then select the featured image and enable Link to post. Do this inside the repeated Post Template rather than on a single preview item, otherwise the setting may not apply to every result.
- Should custom post types be registered in the theme?
- No, custom post types should normally be registered in a plugin so the content remains available when you change themes. The theme should control how the content is displayed, while the plugin or site functionality layer should define the content type, fields and taxonomies.