Je dois afficher le terme actuel dans ma taxonomie personnalisée dans un seul post.
Exemple:
En fait, j'ai besoin d'une fonction telle que the_category();
de WordPress mais pour ma taxonomie comme the_customtaxonomy();
METTRE À JOUR :
en fait, je sais que je dois obtenir cet identifiant parce que j’ai besoin de montrer une icône pour cela dans mon single, par exemple une fonction comme the_category_ID();
réservoirs pour la réponse de mon ami, je le trouve pour montrer slug de ma taxonomie
<?php
$terms = get_terms('my-taxonomy-name');
foreach ( $terms as $term ) {
echo $term->slug.' ';
}
?>
et mais il retourne tous les termes dans ma taxonomie et j'ai besoin de retourner les termes actuels dans ma taxonomie ..
METTRE À JOUR :
je trouve finalement ceci et ajoute si pour des termes vides et fonctionne
<?php // Get terms for post
$terms = get_the_terms( $post->ID , 'oil' );
// Loop over each item since it's an array
if ( $terms != null ){
foreach( $terms as $term ) {
// Print the name method from $term which is an OBJECT
print $term->slug ;
// Get rid of the other data stored in the object, since it's not needed
unset($term);
} } ?>
Vous pouvez utiliser get_the_term_list()
:
La description
Renvoie une chaîne HTML de termes de taxonomie associés à une publication et à une taxonomie donnée. Les termes sont liés à leurs pages respectives.
Usage
<?php get_the_term_list( $id, $taxonomy, $before, $sep, $after ) ?>
Je l'ai trouvé:
<?php
//list terms in a given taxonomy using wp_list_categories (also useful as a widget if using a PHP Code plugin)
$taxonomy = 'genre';
$orderby = 'name';
$show_count = 0; // 1 for yes, 0 for no
$pad_counts = 0; // 1 for yes, 0 for no
$hierarchical = 1; // 1 for yes, 0 for no
$title = '';
$args = array(
'taxonomy' => $taxonomy,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title
);
?>
<ul>
<?php wp_list_categories( $args ); ?>
</ul>
Il contient tous les termes de ma taxonomie personnalisée et je dois connaître le terme actuel.
Vous devez utiliser wp_get_object_terms()
wp_get_object_terms( $object_ids, $taxonomies, $args )
En prenant ce que user3208 a codé, j'ai ajouté un peu de code qui ajoute l'URL au terme. J'espère que ça aide quelqu'un.
<?php // Get terms for post
$terms = get_the_terms( $post->ID , 'oil' );
// Loop over each item since it's an array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
// Print the name and URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Get rid of the other data stored in the object, since it's not needed
unset($term); } } ?>
echo get_the_term_list( get_the_ID(), 'tax_name', 'Product:' );