WordPress Tools Embed Tool
Custom Post Type Generator for WordPress
Generate register_post_type and register_taxonomy code with labels, supports, REST and rewrite settings.
Custom Post Type Generator for WordPress
Fill in the names, pick the features and copy ready-to-use register_post_type code, with an optional taxonomy.
Post type
Supports
Behaviour
Taxonomy (optional)
Stays localEverything runs in your own browser. Nothing you type is sent to a server or stored.
Found a Bug or Missing a Feature?
Report any problems or suggest new features you want. You can write in English, Urdu, Hindi, or any language! Our AI will analyze your feedback and upgrade the tool.
About This Tool
Generate register_post_type and register_taxonomy code with labels, supports, REST and rewrite settings.
A custom post type lets WordPress hold content that is not a blog post or a page — books, properties, recipes, team members, case studies. The code to register one is long, full of label strings, and easy to get wrong. This generator writes the whole thing, including an optional matching taxonomy.
How to use it
- Type the singular name. The plural, key and URL slug fill in for you and can be edited.
- Pick an admin menu icon and which editor features the type supports.
- Choose behaviour: public, archive page, REST API (needed for the block editor), hierarchical.
- Optionally add a taxonomy such as Genre or Location.
- Copy the code into your child theme's
functions.phpor into a small plugin file, then open Settings > Permalinks and press Save.
Things worth knowing
The post type key is stored in the database against every entry, so choose it carefully: changing it later means updating every row. Keys are limited to 20 characters and must not clash with core types such aspost or page. Without show_in_rest the type opens in the old classic editor and is invisible to the block editor and many page builders. Putting the registration in a plugin rather than a theme means your content does not vanish from the dashboard if you switch themes.
Questions people ask
My new post type shows a 404 on the front end.
Go to Settings > Permalinks and press Save Changes. That rebuilds WordPress's URL rules and picks up the new type.Should this go in functions.php or a plugin?
A plugin. Content structure belongs to the site, not the design. If you do use functions.php, use a child theme so updates do not erase it.What does with_front false do?
It stops WordPress prepending the blog base from your permalink structure, so the URL stays as/books/title/ rather than /blog/books/title/.