register_post_type() + register_taxonomy() together — copy/paste or download a ready PHP snippet.book or portfolio_item./books/my-book./books archive page./genre/sci-fi.
Building structured content in WordPress often needs both a Custom Post Type and a Custom Taxonomy.
For example, you might create a Books CPT and a Genres taxonomy, or a Products CPT with a Brands taxonomy.
This combined generator produces a clean, copy-paste PHP snippet that registers both together using register_post_type() and register_taxonomy().
Use Basic mode for quick setup. Use Advanced mode for complete control over labels, permalinks, archive pages, REST API support, and admin behavior.
Most real-world WordPress sites need both: the CPT stores content items, and the taxonomy organizes them into terms.
Yes. The generated code registers the taxonomy and attaches it to the selected post type(s).
Yes after adding or changing rewrite slugs. Go to Settings → Permalinks → Save.
Typically yes. It enables Gutenberg support and REST endpoints for headless WordPress setups.
Yes. In Advanced mode, enter multiple post types separated by commas.
Hierarchical taxonomies behave like categories (parent/child). Non-hierarchical behave like tags.
Paste into functions.php (child theme) or a custom plugin. A plugin is best if your CPT is core site structure.
If you change CPT keys or rewrite slugs after content exists, URLs can change. Plan stable keys early.
Yes. Labels only affect admin UI text, not stored data.
No. Everything runs locally in your browser.