If you're reading this, you probably already suspect that WordPress can be much more than a blogging tool — it can run a full Content Management System (CMS). Plenty of articles cover this for developers, complete with code samples and intimidating words like taxonomy. But custom content can be made simple, and you can turn WordPress into a CMS without writing a single line of code. This guide shows you how.
There are three building blocks for creating and displaying any custom content on a WordPress site:
- Custom post types — required
- Custom taxonomies — optional
- Custom fields — optional
And for each of them, there are three things to do: understand it, create it on your site, and display it on your site. This article covers the most important building block — custom post types. Taxonomies and fields get the same treatment in part 2 of this guide.
What is a custom post type?
When you write a blog article, WordPress stores it as an entry with the built-in post type post. When you create a page, WordPress stores it in the same database table, but with the post type page. Out of the box, that's essentially all WordPress gives you — posts and pages.
That's perfect for blogging, but imagine you're building an e-learning site. You'd want to create lessons, and you'd want them kept clearly separate from your blog posts and pages. A lesson entry would be a custom post type — your own content type, sitting alongside the built-in ones. The same idea applies to events, recipes, properties, team members, portfolios, products — any structured content your project needs.
You can't create lessons right after installing WordPress. So what are your options?
Two ways to add custom post types — no code
Buy a plugin built for your business
For an e-learning site that might be something like LearnDash. Plugins like this create custom post types behind the scenes and ship ready-made templates to display them — you may never even notice the custom post types exist.
The catch: turnkey plugins only exist for common business cases — courses, events, bookings, polls. If your idea is more unusual, there may simply be no plugin for it.
Create your own post type
Go one level deeper and define the post type yourself. Want a TED-style site full of talks? Create a presentation post type. The most popular free tool for this is Custom Post Type UI.
You fill in a short form — the post type name plus a few optional settings — and you're done. “Presentations” appears in your admin menu right next to Posts, and you create them exactly the way you write blog posts.
Displaying your custom post type
Say you chose option 2 and created a few presentations. There are usually three things you'll want on the front end:
- a list of all your presentations,
- a page for each individual presentation,
- a menu item that leads to the list.
1. The list (archive) page
Here you'll meet a WordPress term that comes up constantly: the slug. The slug is the system name of your post type — you set it when you create the post type, and in our example it would be presentation.
To see the list of all your presentations, just open www.your-site.com/presentation. For this to work, your permalink structure must be set to Post name under Settings → Permalinks. (The official permalinks documentation explains the options in detail.)
2. The individual entry
Each presentation automatically gets its own URL — the same link the WordPress editor shows you when you edit the entry, exactly like a standard post. By default it inherits the same layout settings (sidebars and so on) as your blog posts.
3. The menu item
To add “Presentations” to your site menu, go to Appearance → Menus, choose Custom Link in the left sidebar, and enter the archive URL from step 1 — www.your-site.com/presentation.
The catch: making it look professional
All of this is genuinely easy. The problem is what you get at the end: your custom content renders with your theme's most basic template. Functional, yes — professional, not quite.
To control how custom content actually looks, you need a theme with serious layout options. You could spend days comparing hundreds of themes, but if you want a safe choice, pick the best-selling WordPress theme of all time — Avada. It handles nearly any design task unless you're building something truly exotic.
There's one gap, though: out of the box, Avada Builder's beautiful Blog, Portfolio and Recent Posts layouts only work with the built-in post types. No theme can know in advance what custom post types you'll invent.
Show any post type in Avada's layouts
Our Custom Post Types, Taxonomies & Fields plugin extends Avada's Blog, Portfolio and Recent Posts elements to work with any custom post type — configured visually in the Avada Builder, no PHP, no template files.
Keep in mind that for a fully bespoke design of custom content there is no way around templates: you either learn PHP or use an advanced (and not cheap) tool like Toolset. For most sites, though, a good theme plus the right add-on covers everything.
Next steps
Once you're comfortable creating and displaying custom post types without code, two directions are worth exploring:
- Read part 2 — Custom Taxonomies and Fields Made Simple, which adds categorisation and structured data (like prices or locations) to your custom content.
- When you're ready to peek under the hood, the official WordPress developer handbook on post types is the ultimate source of truth.