web-dev-qa-db-fra.com

Comment obtenir le terme actuel dans ma taxonomie personnalisée dans WordPress?

Je dois afficher le terme actuel dans ma taxonomie personnalisée dans un seul post.

Exemple:

  • Ma taxonomie personnalisée est products et son terme est product-1 , product-2 et products-3 .
  • Mon article est affecté à product-2
  • Et je veux imprimer les produits actuels = produits-2 dans mon message

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();

5
erfaan

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);
} } ?>
4
user3208

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 ) ?>
4
user2370

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.

2
erfaan

Vous devez utiliser wp_get_object_terms()

wp_get_object_terms( $object_ids, $taxonomies, $args )

  • $ object_ids: id de chaîne ou de tableau pour les objets pour lesquels vous voulez obtenir des termes
  • $ taxonomies: chaîne ou tableau de taxonomies
1
anu

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:' );
0
user4042