Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 22 down vote accepted

Hey guys i think i got it! After looking at couple of functions in taxonomy.php file in wordpress i have found this function get_object_taxonomies(); which did the tricks :)

Here is the function

function get_post_taxonomies($post) {
    // Passing an object
    // Why another var?? $output = 'objects'; // name / objects
    $taxonomies = get_object_taxonomies($post, 'objects');

    /*// Passing a string using get_post_type: return (string) post, page, custom...
    $post_type  = get_post_type($post);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    /*// In the loop with the ID
    $theID      = get_the_ID();
    $post_type  = get_post_type($theID);
    $taxonomies = get_object_taxonomies($post_type, 'objects');*/

    // You can also use the global $post

    // edited to fix previous error $tazonomies
    // edited to force type hinting array
    return (array) $taxonomies; // returning array of taxonomies
}
share|improve this answer
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

get_categories will do the job.

get_categories('taxonomy=taxonomy_name&type=custom_post_type'); 
share|improve this answer
    
(I think if I understood the question right!) –  addedlovely Jun 21 '11 at 11:46
    
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?

<?php 

$args=array(
  'object_type' => array('event') 
); 

$output = 'names'; // or objects
$operator = 'and'; // 'and' or 'or'
$taxonomies=get_taxonomies($args,$output,$operator); 
if  ($taxonomies) {
  foreach ($taxonomies  as $taxonomy ) {
    echo '<p>'. $taxonomy. '</p>';
  }
}
?>
share|improve this answer
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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