How can i get taxonomies of a post type?

If I have a post type event and i need to find out the list of taxonomies that are attached to that post type. How do I find them?


I think I've got it! After looking at couple of functions in the taxonomy.php file in WordPress I have found the function get_object_taxonomies(); which did the trick :)

  • 2
    See this for more info: codex.wordpress.org/Function_Reference/get_object_taxonomies – Manny Fleurmond Jun 21 '11 at 13:15
  • wow... good to know about get_object_taxonomies(). it just helped me hijack template_redirect – helgatheviking Nov 10 '11 at 3:17
  • Hi thankx for this but how to order them by ID instead of NAME? – dh47 Oct 19 '15 at 7:08
  • easiest way will be just sort them using a for or foreach loop. – Sisir Oct 19 '15 at 9:25
  • Yes I am fetching using foreach loop but I am getting order by name $taxonomies = get_object_taxonomies( array( 'post_type' => $post_type ) ); foreach( $taxonomies as $taxonomy ) : // Gets every "category" (term) in this taxonomy to get the respective posts $terms = get_terms( $taxonomy ); ?> <ul class="specials"><?php foreach( $terms as $term ) : ?> <li><h2 ><?php echo $term->name; ?></h2> – dh47 Oct 19 '15 at 10:19

get_categories will do the job.

  • (I think if I understood the question right!) – addedlovely Jun 21 '11 at 11:46
  • 3
    Thing is i don't have any taxonomy name, that's what i want to find out. I only have the name of the post type. By the post type name i want to find out all the taxonomy that are attached to it. Thanks anyway! – Sisir Jun 21 '11 at 12:47

Have you tried anything? something like this?


  'object_type' => array('event') 

$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    echo '<p>'. $taxonomy. '</p>';
  • 1
    Looked at get_taxonomies(); function on codex but it has very poor documentation and was no idea how i can pass the post types. – Sisir Jun 21 '11 at 9:56
  • Sorry, this code is returning all registered taxonomies in wordpress. – Sisir Jun 21 '11 at 9:59
$taxonomies = get_taxonomies( [ 'object_type' => [ 'custom_post_type' ] ] );

Use get_object_taxonomies (https://developer.wordpress.org/reference/functions/get_object_taxonomies/), which takes either the name of your custom post type or a post object as the parameter:

$taxonomies = get_object_taxonomies('custom_post_type');
$taxonomies = get_object_taxonomies($custom_post_object);

get_taxonomies() won't return any taxonomies that are used by multiple post types (https://core.trac.wordpress.org/ticket/27918).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.