preloader

CPT UI plugin review and common issues

CPT UI is used for custom fields, content models, debugging, and developer workflow inside WordPress. In most cases, it fits business sites better than a custom build done too early. A common issue is that data structures become messy when fields are added without planning. This usually happens when field keys, templates, and queries need discipline on larger builds. It can save time, but it still needs testing on a staging site before major changes go live. From experience, CPT UI works best when you keep the setup focused and avoid overlapping plugins.

CPT UI plugin review and common issues

What is CPT UI plugin?

Custom Post Type UI (CPT UI) is a free WordPress plugin for registering custom post types and custom taxonomies through an admin interface, without writing PHP code. It is one of the most widely installed WordPress plugins on WordPress.org, with over 2 million active installations, and has long been the standard companion plugin for ACF — CPT UI creates the custom post types, ACF attaches fields to them. Together, they provide the foundational custom content modeling stack for millions of WordPress sites.

CPT UI exposes all the arguments of WordPress’s register_post_type() and register_taxonomy() functions through a clean admin form: labels, slug, public visibility, menu icon, REST API support, supports (title, editor, thumbnail, excerpt, etc.), and capability type. This eliminates the need to write and maintain custom post type registration code, making CPT UI valuable both for developers who prefer UI configuration and for site builders who cannot write PHP.

CPT UI stores post type and taxonomy registrations in the WordPress database (wp_options). One important consideration: if CPT UI is deactivated, its custom post types and taxonomies become unavailable until it is reactivated — unlike code-registered types that are always registered as long as the code is present. For sites where CPT UI is the sole registration method, it should be treated as a permanent plugin rather than a temporary tool. For deployment workflows requiring version-controlled post type definitions, registering post types in code (or using ACPT or Pods) may be preferable.

Need Help With CPT UI Setup, Troubleshooting, or Customization?

Need help with CPT UI? Whether you are dealing with errors, broken functionality, styling problems, plugin conflicts, or advanced customization, we can help you fix the issue and get the plugin working properly on your WordPress site.

Get CPT UI Expert Help

Key Features

  • Register custom post types via admin interface with all standard WordPress arguments
  • Register custom taxonomies via admin interface
  • Import and export post type and taxonomy registrations as JSON or PHP code (for moving to code-based registration)
  • REST API support configuration
  • User capability type configuration

Pros & Cons

Pros

  • Most widely used custom post type registration plugin — massive community and compatibility
  • Exposes all register_post_type() arguments without code
  • Export to PHP code enables moving post type definitions to theme functions.php for code-based deployment

Cons

  • Post types become unavailable if CPT UI is deactivated — creates plugin dependency
  • Database-stored registrations are less deployment-friendly than code-based registration

Free vs Premium

Completely free. No paid version.

Common Problems & Fixes

After deactivating CPT UI, content from custom post types is missing from the site. How do I restore it?

The content is not lost — it still exists in the database. However, the custom post type is no longer registered, so WordPress does not serve it. Reactivating CPT UI immediately restores all content. If you want to maintain the custom post type without CPT UI as a dependency, use CPT UI’s Export feature (Post Types → Get Code) to copy the generated PHP code. Paste this code into your theme’s functions.php or a custom plugin. Once the post type is registered in code, you can safely deactivate CPT UI.

A CPT UI custom post type is showing a 404 error on single post pages — the URL resolves but displays a not-found page. How do I fix this?

This is a permalink/rewrite rule issue. Go to Settings → Permalinks and click Save Changes — this flushes and regenerates rewrite rules including those for CPT UI-registered post types. If the 404 persists, verify the post type’s “Public” setting in CPT UI is set to True and the “Has Archive” setting is configured correctly. Also ensure the post type slug does not conflict with an existing WordPress page slug (e.g., a post type slug of “portfolio” conflicting with a page named “portfolio”).

CPT UI custom taxonomy terms are not filtering correctly in the WordPress admin post list — filtering by taxonomy shows all posts regardless of term. How do I fix this?

Taxonomy filtering in the WordPress admin list requires the taxonomy to be registered with query_var enabled and the rewrite properly configured. In CPT UI → Edit Taxonomy → [taxonomy name], verify “Query Var” is set to True and “Rewrite” is enabled. After changing these settings, flush rewrite rules (Settings → Permalinks → Save). Also verify the taxonomy is linked to the correct post type — in CPT UI, the Post Type Connection field on the taxonomy registration must include the target post type slug.

Customization & Developer Notes

How do I export a CPT UI custom post type to PHP code for code-based deployment?

Go to CPT UI → Tools → Get Code. Select your custom post type from the dropdown and CPT UI generates the complete register_post_type() PHP function call with all configured arguments. Copy this code into your theme’s functions.php or a custom plugin’s main PHP file. After moving to code-based registration, deactivate CPT UI — the post type will continue to work via the code. This is recommended for production sites where plugin dependencies should be minimized and code should be version-controlled.

How do I set a custom Dashicons menu icon for a CPT UI post type?

In CPT UI → Edit Post Type → [your post type], find the “Menu Icon” field. Click the field to open the Dashicons picker — a visual grid of all available WordPress Dashicons icons. Click the desired icon to select it, and the Dashicons class name (e.g., dashicons-portfolio) is automatically entered. Save the post type. The selected icon appears in the WordPress admin sidebar next to your custom post type. For custom SVG icons, enter the SVG data URI directly in the Menu Icon field instead of using the Dashicons picker.

Frequently Asked Questions

Do I need CPT UI if I use ACPT, Pods, or Toolset?

No — ACPT, Pods, Toolset, Meta Box (with MB Custom Post Type), and JetEngine all include built-in custom post type registration. CPT UI is needed specifically when using ACF or Carbon Fields for custom fields, as those plugins do not include CPT registration UI. If your custom fields plugin handles CPT registration, CPT UI is redundant.

Is it safe to deactivate CPT UI after exporting post types to code?

Yes, once the register_post_type() and register_taxonomy() PHP code is active in your theme or a custom plugin, CPT UI is no longer needed. Deactivating CPT UI after the code is in place is safe — the post types remain registered via code. Verify the code is working correctly (check the post type appears in the admin menu) before deactivating CPT UI. Keep a backup of the CPT UI export JSON in case you need to restore the UI-based registration.

Can CPT UI break after updates?

Yes, that can happen, especially on older sites with many plugins. This usually happens when the plugin, theme, and add-ons are updated out of sequence. In most cases, testing on staging catches the issue before it reaches the live site. From experience, backups and changelog reviews save a lot of cleanup time.

What should I check before installing CPT UI?

Start by checking whether another plugin already does the same job. In most cases, overlap is what creates avoidable conflicts and performance issues. A common issue is installing a plugin because it looks convenient without checking the stack first. From experience, a short compatibility review avoids most of the pain later.

Need a CPT UI Developer?

Find a vetted WordPress developer specializing in CPT UI. From setup and configuration to custom CPT UI development — get expert help on WPWizzy.
Get a Free Estimate

Ready to hire your WordPress developer?

WPWizzy connects you with vetted freelance WordPress developers from the Codeable network — the top 2% of WordPress experts worldwide, , you can get a free no-obligation project estimate before hiring. Every developer is carefully screened, backed by Codeable’s satisfaction guarantee, and rated by real clients based on completed WordPress projects.

Pick one option and we’ll take you to the right next step.

After submitting your request, up to three WordPress developers may review your project and ask a few questions to better understand the issue.
This step helps us define the scope of work and provide an accurate estimate. Most projects receive a response within 24 hours.
Providing a few key details about your website or the problem will help us respond faster. There is no obligation to proceed with the project.