Como obter todas as taxonomias de um tipo de post?

39

Como posso obter taxonomias de um tipo de postagem?

Se eu tiver um tipo de postagem event e precisar descobrir a lista de taxonomias anexadas a esse tipo de postagem. Como os encontro?

    
por Sisir 21.06.2011 / 11:20
fonte

3 respostas

32

Oi gente, eu acho que entendi! Depois de olhar para algumas funções no arquivo taxonomy.php no WordPress eu encontrei esta função get_object_taxonomies(); que fez o truque:)

Aqui está a função

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 $taxonomies
    // edited to force type hinting array
    return (array) $taxonomies; // returning array of taxonomies
}
    
por Sisir 21.06.2011 / 15:06
fonte
9

get_categories fará o trabalho.

get_categories('taxonomy=taxonomy_name&type=custom_post_type'); 
    
por addedlovely 21.06.2011 / 13:46
fonte
1

Você já tentou alguma coisa? algo assim?

<?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>';
  }
}
?>
    
por Reigel 21.06.2011 / 11:31
fonte