J'essaie d'utiliser get_the_term_list pour saisir le nom de la taxonomie actuelle de la page, puis de l'utiliser avec get_terms et une méthode foreach pour afficher le résultat de tous les "éléments" de la même taxonomie, mais je n'ai eu qu'un résultat vide. (par exemple, ceci consiste à avoir les articles liés de la page).
Savez-vous pourquoi cela ne fonctionne pas? L'écho sur get_the_term_list fonctionne bien, mais dans le paramètre get_terms, le résultat du "li" est vide.
$my_tax = get_the_term_list( $post->ID, 'type');
//echo $my_tax;?> output works fine
$terms = get_terms($my_tax);
foreach ($terms as $term) {
echo "<li>".$term->name."</li>"; // empty
}
Pourriez-vous m'aider?
get_the_term_list()
récupère les termes attachés à l'article qui sont dans la taxonomie "types".
get_terms()
est conçu pour extraire tous les termes d'une taxonomie.
Vous essayez d'utiliser get_terms()
pour un terme spécifique dans une taxonomie, pas une taxonomie elle-même.
Vous devez faire: $terms = get_terms('type');
get_post_taxonomies( $post->ID )
vous permet de récupérer dynamiquement les noms des taxonomies attachées à une publication.
Vous pouvez donc récupérer TOUS les termes appartenant aux taxonomies de la publication actuelle:
$all_terms = get_terms( get_post_taxonomies( $post->ID ) );
OU uniquement les termes affectés au poste actuel:
$object_terms = wp_get_object_terms( $post->ID, get_post_taxonomies( $post->ID ) );
Je vais aller un peu plus loin et implémenter get_the_term_list () pour chaque taxonomie:
foreach( get_post_taxonomies( $post->ID ) as $taxonomy ) {
$taxonomy_name = get_taxonomy( $taxonomy )->labels->name;
echo get_the_term_list( $post->ID, $taxonomy, '<h3>' . $taxonomy_name . '</h3><ul><li>', '</li><li>', '</li></ul>' );
}