WordPress.org

Plugin Directory

CPT-onomies: Using Custom Post Types as Taxonomies

Use your custom post types as taxonomies. Create powerful relationships between your posts and, therefore, powerful content.

CPT-onomies is a multisite compatible WordPress plugin that allows you to create very powerful taxonomies and, therefore, very powerful relationships between your posts.

CPT-onomies are Custom-Post-Type-powered taxonomies that function just like regular WordPress taxonomies, even allowing you to use core WordPress taxonomy functions, such as get_terms() and wp_get_object_terms(). Check out the CPT-onomy documentation to see which core WordPress taxonomy functions work and when you'll need to access the plugin's CPT-onomy functions.

CPT-onomies includes a custom post type manager, allowing you to create custom post types and register CPT-onomies without touching one line of code!

If you're running a WordPress multisite network, you can register your custom post types/CPT-onomies across your entire network OR on a site-by-site selection. All from one screen!

If you're already using a plugin, or theme, that creates custom post types, don't worry, CPT-onomies is all-inclusive. Any registered custom post type can be used as a CPT-onomy.

What Is A CPT-onomy?

A CPT-onomy is a Custom-Post-Type-powered taxonomy that functions just like a regular WordPress taxonomy, using your post titles as your taxonomy terms. "Attach", or register, your CPT-onomy to any post type and create relationships between your posts, just as you would create taxonomy relationships. Need to associate a CPT-onomy term with its post? No problem! The CPT-onomy term's term ID is the same as the post ID.

Is CPT-onomy An Official WordPress Term?

No. It's just a fun word I made up.

Need Custom Post Types But Not (Necessarily) CPT-onomies?

CPT-onomies offers an extensive, and multisite compatible, custom post type manager, allowing you to create and completely customize your custom post types within the admin.

Why CPT-onomies?

It doesn't take long to figure out that custom post types can be a pretty powerful tool for creating and managing numerous types of content. For example, you might use the custom post types "Movies" and "Actors" to build a movie database but what if you wanted to group your "movies" by its "actors"? You could create a custom "actors" taxonomy but then you would have to manage your list of actors in two places: your "actors" custom post type and your "actors" taxonomy. This can be a pretty big hassle, especially if you have an extensive custom post type.

This is where CPT-onomies steps in. Register your custom post type, 'Actors', as a CPT-onomy and CPT-onomies will build your 'actors' taxonomy for you, using your actors' post titles as the terms. Pretty cool, huh?

Using CPT-onomies

What's really great about CPT-onomies is that they function just like any other taxonomy, allowing you to use WordPress taxonomy functions, like get_terms(), get_the_terms() and wp_get_object_terms(), to access the CPT-onomy information you need. CPT-onomies will also work with tax queries when using The Loop, help you build custom CPT-onomy archive pages, allow you to programmatically register your CPT-onomies, and includes a tag cloud widget for your sidebar. Check out the CPT-onomies documentation for more information.

If you're not sure what a taxonomy is, how to use one, or if it's right for your needs, be sure to do some research. The WordPress Codex page for taxonomies is a great place to start!

Note: Unfortunately, not every taxonomy function can be used at this time. Check out the CPT-onomy documentation to see which WordPress taxonomy functions work and when you'll need to access the plugin's CPT-onomy functions.

Requires: 3.1 or higher
Compatible up to: 4.1.6
Last Updated: 2015-3-21
Active Installs: 3,000+

Ratings

5 out of 5 stars

Support

0 of 8 support threads in the last two months have been resolved.

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

0,1,0
100,2,2 100,3,3 100,2,2 100,1,1
100,1,1 100,2,2
100,2,2 100,1,1
100,4,4
100,3,3
0,1,0 50,2,1
100,2,2 100,3,3
100,1,1
100,1,1
100,3,3
100,1,1
100,2,2
100,1,1
100,1,1
100,1,1
50,2,1
0,2,0 100,1,1 100,1,1
100,1,1
100,2,2