Comment obtenir un nom à long terme de taxonomie par la limace?
Question
Si je connais une limace à long terme de taxonomie, comment puis-je obtenir le nom de ce terme?
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;
}