Beginner's Guide for WordPress / Start your WordPress Blog in minutes

Using Custom Post Types As Taxonomies In WordPress with CPT-onomies

If you have ever used custom post types then you know how powerful they can be when it comes to organizing your content. What do you do though if you want to organize one of your post types according to another?

For example, let’s say you have two custom post types. One of them is your favorite movies, while the other is your favorite actors. One way to link these posts would be to create a taxonomy using the actor names and tag each movie with the actors that play in it. The problem with this is that now you will be managing an actors taxonomy as well as an actors custom post type. The best way to prevent this and streamline the relationships between your two pieces of content is to make the actual actors post type into a taxonomy. In this post we are going to show you how to do that.

First, download and install the CPT-onomies WordPress plugin. Once you do this if you go to Settings » CPT-onomies you will be able to create and organize all of your new custom post type taxonomies.

CPT-onomies settings

As you can see in the screenshot above, you can control which post types are linked to one another. In this example, actors and directors are linked to movies. If you want to add or edit any of your custom post types, you can easily do this by selecting either the “add a new custom post type” button or editing your current custom post types (see screenshot below).

CPT-onomies edit a custom post type

Once you are done adding and editing all of your post types you can use them just as you would any other tag or category. In our example actors and directors were linked to movies so if you go to the movies post type then you will notice that in the area normally reserved for taxonomies you can now add actors and directors to your movies.

CPT-onomies add categories

Download CPT-onomies WordPress Plugin

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

10 CommentsLeave a Reply

  1. If we’ve the image of actors and directors and their names to be displayed, how to display that?? Can you please send a code snippet?

  2. While this does allow you to select post types as relations in 1 post type at a time it does not recognize when posts are attached to each other. For example: If I have 2 post types. Movies and Actors. If I have a movie titles Titanic and I select an actor from the drop down by the name of Leo, if I go edit the actor Leo, he is not automatically attached to the movie Titanic in his post view.

    Is this something that is possible with this plugin or no.

  3. I see that your CPT-onomies are displayed as a list with checkboxes to the left. While mine is just a search box – once I start typing, matching CTP-onomies appear. How do I make mine such that it will just list them with checkboxes?

  4. In what way is this plugin different/better then the ‘Custom Post Type UI’-plugin? I’m in the search for something with these capabilities and did some testing witth ‘Custom Post Type UI’ but reading this post made me have second doubts so I would love to hear your opinion.

    • This plugin lets you use Custom Post Types as Taxonomies. Custom Post Types UI plugin lets you create custom post types and custom taxonomies. It doesn’t let you use a CPT as a taxonomy.


      • ok thanks, I think i got it now. Will do some testing with a new install to see if this can be used in my case.

  5. This concept is exactly what I have been looking for. How can I do this without using the plugin? I hand code all of my custom post types and would like to not be plugin-dependent.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.