The building blocks of structured content.
Definition
A content type is a template for entries: name, URL slug, feature flags, and a set of fields. Each entry of that type shares the same field schema but different values.
Database model (conceptual)
cms_content_types— Type definition (name, slug, public route, SEO, featured image, block builder flags)cms_content_fields— Field definitions per type (field_key,field_type, labels, options)cms_content_entries— Entry rows (title, slug, status, SEO columns, workflow metadata)- Field values — Normalized storage keyed by field and entry
Examples
| Type | Typical fields |
|---|---|
| Blog | excerpt, body (richtext), author |
| Product | price_cents, SKU, stock, digital delivery fields |
| Knowledge Base | summary, body (HTML), section taxonomy |
| Review | score (number), product entry_refs |
Type flags
- Public route — Enables
/{typeSlug}archive and/{typeSlug}/{entrySlug}singles - Supports SEO — Per-entry meta title, description, social fields
- Featured image — Media picker on entry edit
- Block builder — Visual sections above or alongside custom fields
Managing types
Go to Content → Content types (requires manage_content_types). Create a type, add fields, reorder fields, then create entries under Content → {Type name}.
Field types overview
Common types: text, textarea, richtext, number, boolean, select, url, media, entry_refs. Each type has appropriate admin widgets and validation.
Troubleshooting
- Cannot delete type — Entries may still exist; trash or delete entries first.
- Slug conflict — Type slug cannot match reserved paths (admin, api, shop, …).