Question

Si je connais une limace à long terme de taxonomie, comment puis-je obtenir le nom de ce terme?

Était-ce utile?

La solution

La fonction que vous recherchez est get_term_by. On peut l'utiliser comme tel:

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

Il en résulte $term étant un objet contenant le texte suivant:

term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count

Le codex fait un excellent travail pour expliquer cette fonction: http://codex.wordpress.org/Function_Reference/get_term_by

Autres conseils

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

Dans mon cas, lorsque vous utilisez get_term_by , il y avait des cas où il n'y avait que la terme Slug (No ID terme ou taxonomie). Ce qui me conduit ici. Cependant, la réponse fournie n'a pas résolu mon problème tout à fait.

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 devient un tableau de $taxonomies, des boucles à travers le réseau, et si get_term_by() retourne un match, il a ensuite immédiatement éclate de la boucle foreach.

Remarque:. J'ai essayé à la recherche d'une méthode pour obtenir la taxonomie associée (ID ou Slug) de Terme Slug, mais malheureusement je suis incapable de trouver quoi que ce soit disponible dans WordPress

merci, cela a fonctionné pour moi.

Je créé une fonction et l'utiliser encore et encore au besoin.

function helper_get_taxonomy__by_slug($term_slug){
    $term_object = "";
    $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;
        }else{
            $term_object = "Warn! Helper taxonomy not found.";
        }
    }
    return $term_object;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top