web-dev-qa-db-fra.com

Comment obtenir toutes les taxonomies d'un type de poste?

Comment puis-je obtenir des taxonomies de type post?

Si j'ai un type de message event et que je dois trouver la liste des taxonomies attachées à ce type de message. Comment puis-je les trouver?

43
Sisir

Hé les gars, je pense que je l'ai eu! Après avoir examiné quelques fonctions dans le fichier taxonomy.php dans WordPress, j'ai trouvé cette fonction get_object_taxonomies(); qui a fait l'affaire :)

Voici la fonction

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
}
34
Sisir

get_categories fera le travail.

get_categories('taxonomy=taxonomy_name&type=custom_post_type'); 
9
addedlovely

Avez-vous essayé quelque chose? quelque chose comme ça?

<?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>';
  }
}
?>
1
Reigel