You don’t need to touch functions.php or write register_post_type() to add a custom post type to WordPress — a plugin handles all of it through a settings screen. This is the no-code path, start to finish. If you’d rather write the code yourself, or want to understand what these plugins are doing under the hood, the code-first custom post types guide covers register_post_type(), WP_Query, and the REST API side in depth.
Creating the Post Type with Custom Post Type UI
Install and activate Custom Post Type UI (free, from the plugin directory), then go to CPT UI > Add/Edit Post Types. Set the post type slug (e.g. “book”), the singular and plural labels, and toggle the basics — public visibility, whether it has an archive page, and which core features it supports (title, editor, featured image). Save, and the new post type shows up as its own menu item in wp-admin immediately, with no code involved.
Adding Custom Fields Without Code
A post type on its own only gives you a title and a body — most real use cases need structured fields (price, SKU, event date). Two honest options:
- Pods handles the post type, its fields, and its taxonomies all in one plugin, which is the simpler setup if you’re starting from scratch and don’t already have a fields plugin installed.
- Advanced Custom Fields (ACF) pairs with CPT UI — CPT UI defines the post type, ACF defines the fields attached to it. This is the better choice if you’re already using ACF elsewhere on the site, since you’re not adding a second, overlapping tool.
Either way, avoid running Pods and ACF for the same post type — pick one field system per post type rather than mixing them, for the same reason you wouldn’t run two SEO plugins together. For a fuller comparison including Metabox as a third option, see ACF Pro vs Metabox vs Pods.
Adding Taxonomies Without Code
If your post type needs categories of its own — “Cuisine” for a Recipes post type, “Genre” for Books — both CPT UI and Pods let you register a custom taxonomy the same way as the post type itself: a settings screen, not code. Attach the taxonomy to your custom post type and it appears as a filterable field in the editor, the same way categories work for regular posts.
Displaying Your Custom Post Type Without Editing Theme Files
Most page builders (Elementor, Divi, Bricks) can pull in custom post type content dynamically once the post type exists — a dynamic list or grid widget pointed at your new post type, no template file required. Many custom-field plugins also ship a shortcode for embedding a specific entry or a filtered list directly in the block editor. Between the two, most display needs are covered without ever opening a PHP file.
When You’ll Need a Developer Anyway
The no-code path covers a real majority of use cases, but it has a ceiling: custom relationships between two post types (a Book linked to its Author post type, with data flowing both directions), custom REST API endpoints exposing the post type to a separate app, admin column customization, or performance tuning once a post type holds tens of thousands of entries. None of that is a settings-screen problem — that’s where custom plugin development is worth bringing in rather than fighting a no-code tool past what it’s built for.


