Description
BBA Custom Types lets site owners create and manage custom post types and taxonomies without editing theme files or writing registration code.
Use it when your site needs structured content beyond posts and pages: projects, testimonials, events, resources, product collections, locations, or any other content model. The plugin gives you a clear admin workflow while keeping WordPress registration keys, rewrite bases, and taxonomy relationships visible.
What you can do
- Create and manage custom post types from one dashboard.
- Create taxonomies and attach them to one or more custom post types.
- Set singular and plural labels, public URL slugs, and frontend rewrite bases.
- Choose whether a post type is public, has an archive, or is available in the block editor and REST API.
- Choose supported post features, including title, editor, excerpt, featured image, author, comments, revisions, custom fields, and page attributes.
- Configure taxonomy visibility, hierarchy, REST API support, and attached post types.
- Receive inline validation for duplicate or invalid slugs and internal keys before settings are saved.
- Update the taxonomy attachment choices immediately after creating a post type, without refreshing the page.
How it works
BBA Custom Types stores your definitions in WordPress options and registers them using WordPress APIs. A generated internal key such as bbact_project identifies a post type in the database. Treat that key as permanent after content has been created. The public URL can be adjusted independently with the Frontend URL base field.
The plugin does not send data to external services and does not require an account.
Getting Started
Create a custom post type
- Go to BBA Custom Types and select New Custom Post Type.
- Enter a singular name, for example
Project. The plugin fills related labels for you; you can adjust any of them before saving. - Review the URL slug. This is used to generate the internal key on the first save.
- Optionally set a different Frontend URL base. For example, leave the key based on
projectbut useprojectsfor public URLs. - Configure public visibility, archive support, REST API support, menu position, and supported post features.
- Save the custom post type, then use its new menu in WordPress admin to add content.
Create a taxonomy
- Select New taxonomy from the BBA Custom Types dashboard.
- Enter a singular name, for example
Project Type. - Choose whether it is hierarchical. Hierarchical taxonomies behave like categories; non-hierarchical ones behave like tags.
- Select the custom post types that should use this taxonomy.
- Save the taxonomy. The new taxonomy appears with the selected post types immediately.
Change a public URL base safely
Do not change the URL slug of a post type that already has content unless you intend to create a different internal post type key. Instead, change Frontend URL base to alter the public URL path while retaining the existing internal key and its posts.
After changing a rewrite base, go to Settings > Permalinks and select Save Changes once to refresh WordPress rewrite rules.
Screenshots


Installation
- In WordPress admin, go to Plugins > Add New > Upload Plugin.
- Upload the BBA Custom Types ZIP file and activate it.
- Open BBA Custom Types from the WordPress admin menu.
- Create a custom post type or taxonomy using the steps below.
FAQ
-
Does BBA Custom Types create both post types and taxonomies?
-
Yes. You can manage both from the same dashboard and connect a taxonomy to one or more custom post types.
-
What is the difference between URL slug, Frontend URL base, and Internal key?
-
The URL slug is used when first creating a type and helps generate its internal key. The Frontend URL base controls the public permalink path. The Internal key is the WordPress identifier, for example
bbact_project; it should remain unchanged after you create content. -
Why did my posts disappear after changing the URL slug?
-
Changing the URL slug can generate a new internal key. WordPress then treats it as a new post type, so posts associated with the old key are no longer shown in the new menu. Restore the original internal key to access that content again. To change only public URLs, use Frontend URL base instead.
-
Can I edit the generated key?
-
The key is generated on first save so you can verify the intended slug before creation. Keep it stable after content exists, because WordPress uses it to associate posts, taxonomies, and metadata.
-
Why is my new frontend URL not working yet?
-
Save your permalink settings at Settings > Permalinks after changing a Frontend URL base. This refreshes WordPress rewrite rules.
-
Does the plugin support the block editor and REST API?
-
Yes. Enable Show in REST for a custom post type or taxonomy to make it available to the block editor and REST API.
-
Does the plugin include a custom field builder?
-
Not yet. The plugin is designed to grow toward custom-field management, but version 1.0.0 focuses on custom post types and taxonomies.
-
Does it delete my content when I deactivate the plugin?
-
No. Deactivation does not delete posts, terms, or saved definitions. The registered types are inactive until the plugin is reactivated, so their content may not be accessible in the usual WordPress menus while it is inactive.
-
Does the plugin use an external API or transmit site data?
-
No. BBA Custom Types works entirely within your WordPress installation and does not require an account or third-party service.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“BBA Custom Types” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “BBA Custom Types” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- Added the project website link to the plugin header.
1.0.0
- Initial public release.
- Create and manage custom post types and taxonomies from a modern WordPress admin UI.
- Added real-time validation, editable first-save slug workflow, modal editing, and live taxonomy attachment updates.
