J'essaie d'afficher les termes d'une taxonomie sur ma page d'archives, mais j'ai du mal à afficher les termes nom, voici ce que j'ai jusqu'à présent:
if ($post->post_type == 'cpt_saving') {
$categories = get_the_terms($post->ID, 'cpt_saving-type');
if ($categories) {
$categories['name'];
}
$stack = [
'title' => get_field('savings_headline', $post_id),
'image' => get_field('savings_supplier_logo', $post_id),
'reference' => get_field('savings_reference', $post_id),
'date' => get_the_date('l j F Y'),
'link' => get_the_permalink(),
'term' => $categories->name,
];
get_template_partial('partials/savings/savings-item', $stack);
}
Comme j'ai $ stack comme tableau, comment appellerais-je le nom de taxonomie pour l'afficher au début?
J'ai été en mesure d'afficher le terme de taxonomie pour chaque article en utilisant les éléments suivants:
$savings_terms = get_the_term_list($post->ID, 'cpt_saving-type');
$stack = [
'term' => strip_tags($savings_terms),
];
Cette sortie affiche le terme actuel pour chaque message et ne génère pas d'erreur lorsqu'un message ne comporte pas de terme, cela fonctionnait mieux pour ma situation.
Comme cela a déjà été noté, vous pouvez le faire en effectuant une itération sur chacun des termes qui sont WP_Term
objets. Chacun de ces WP_Term
objets a une propriété name
name__. Donc, vous le feriez comme ça:
$terms = get_the_terms( $post->ID, 'cpt_saving-type' );
$terms = is_array( $terms ) ? $terms : array();
foreach ( $terms as $term ) {
echo $term->name.'<br />'; // Outputs each name.
}