Comment obtenir un nom de taxonomie par la limace?

17

Si je connais un terme de taxonomie, comment puis-je obtenir le nom de ce terme?

    
posée Carson 05.05.2011 - 06:47

2 réponses

30

La fonction que vous recherchez est get_term_by . Vous l'utiliseriez comme tel:

<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>

Cela donne $term un objet contenant les éléments suivants:

term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count

Le codex explique très bien cette fonction: enlace

    
réponse donnée tollmanz 05.05.2011 - 07:11
2

Ceci fournit une réponse lorsque la taxonomie est indisponible / inconnue .

Dans mon cas, lors de l'utilisation de get_term_by , il y avait des cas où il n'y avait que le slug de terme (aucun identifiant de terme ou taxonomie). Ce qui m'a conduit ici. Cependant, la réponse fournie n'a pas résolu mon problème.

Solution pour $taxonomy vide

// We want to find the ID to this slug.
$term_slug = 'foo-bar';
$taxonomies = get_taxonomies();
foreach ( $taxonomies as $tax_type_key => $taxonomy ) {
    // If term object is returned, break out of loop. (Returns false if there's no object)
    if ( $term_object = get_term_by( 'slug', $term_slug , $taxonomy ) ) {
        break;
    }
}
$term_id = $term_object->name;

echo 'The Term ID is: ' . $term_id . '<br>';
var_dump( $term_object );

Résultat

The Term ID is: 32
object(WP_Term)
  public 'term_id' => int 32
  public 'name' => string 'Example Term'
  public 'slug' => string 'example-term'
  public 'term_group' => int 0
  public 'term_taxonomy_id' => int 123
  public 'taxonomy' => string 'category'
  public 'description' => string ''
  public 'parent' => int 0
  public 'count' => int 23
  public 'filter' => string 'raw'

Comme suit, le concept obtient un tableau de $taxonomies , boucle à travers le tableau et si get_term_by() renvoie une correspondance, il sort immédiatement de la boucle foreach.

Remarque: j'ai essayé de rechercher une méthode permettant d'obtenir la taxonomie associée (ID ou Slug) auprès de Term Slug. Malheureusement, je ne trouve aucun élément disponible dans WordPress.

    
réponse donnée EkoJR 07.05.2017 - 05:53

Lire d'autres questions sur les étiquettes