J'ai un type de message personnalisé et une taxonomie qui permet à l'utilisateur de sélectionner la catégorie dans laquelle le message se trouve.
Voici ma taxonomie personnalisée:
add_action( 'init', 'create_talcat_taxonomy', 0);
function create_Talcat_taxonomy()
{
register_taxonomy ( 'Talcat', 'artist', array( 'hierarchical' =>
true, 'label' => 'Categories', 'query_var' => true, 'rewrite' => true )
);
}
Sur ma page d’accueil, j’interroge l’artiste post_type =, qui fonctionne bien et affiche mes publications d’artiste. Cependant, comment puis-je imprimer/afficher le nom de la catégorie à laquelle la publication appartient, puis créer un lien vers cette page de catégorie?
Je pense que vous parlez de termes, pas de catégories. Vous pouvez utiliser wp_list_categories
pour récupérer et afficher les termes auxquels une publication appartient.
Voici un exemple de travail tiré du codex. N'oubliez pas que la variable $taxonomy
peut être remplacée par category
ou par une taxonomie personnalisée.
<?php
$taxonomy = 'YOUR TAXONOMY NAME';
// get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// separator between links
$separator = ', ';
if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {
$term_ids = implode( ',' , $post_terms );
$terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=' . $term_ids );
$terms = rtrim( trim( str_replace( '<br />', $separator, $terms ) ), $separator );
// display post categories
echo $terms;
}
?>
Juste un conseil, n'utilisez pas de lettres majuscules dans votre nom de taxonomie lors de son enregistrement. Cela pose des problèmes la plupart du temps
J'ai réussi à trouver un moyen simple et propre d'imprimer le terme de taxonomie attribué à la publication avec les éléments suivants:
<?php the_terms( $post->ID, 'TAXONOMY NAME', ' ', ' / ' ); ?>
Utiliser terme récupère les termes associés à l'objet ou aux objets donnés, dans les taxonomies fournies.
Voici un lien vers le codex avec des exemples et des détails supplémentaires.