With CPT UI active (installed back in the setup lesson), a new CPT UI menu appears in the admin sidebar. Registering a post type is a form, not code — CPT UI → Add/Edit Post Types.
| Field | What it controls |
|---|---|
| Post Type Slug | The internal name used in code and URLs — lowercase, no spaces, e.g. project |
| Plural / Singular Labels | What shows in the admin menu and screens — "Projects" / "Project" |
| Public | Whether this content type has a public-facing URL at all — almost always True |
| Has Archive | Whether an automatic listing page exists at /projects/ — needed for archive-project.php to ever be used (next lesson) |
| Show in Menu | Whether it gets its own top-level admin menu item — usually True |
| Supports | Which editor features are available — Title, Editor, Featured Image are the common baseline; only enable what the content type actually needs |
Filling out that form and saving is functionally equivalent to writing a register_post_type() call in functions.php by hand — CPT UI just gives it a form instead of PHP syntax to get wrong. It even has an "Export/Get Code" option that shows the generated PHP, worth a look once just to see what the plugin's doing on your behalf.
Flush permalinks after adding a post type
After adding a new post type, visit Settings → Permalinks and click Save Changes — even without changing anything. WordPress caches its URL-routing rules, and a newly registered post type's URLs (especially its archive) can 404 until that cache is refreshed.
With a post type registered, the next lesson covers its natural companion — a custom taxonomy, for organizing that content type the way categories organize posts.