Como obter um nome de taxonomia pelo slug?
-
-
Vocêestá querendo criar um link,título,???are you wanting to create a link, title, ???
- 0
- 2011-05-05
- xLRDxREVENGEx
-
3 respostas
- votos
-
- 2011-05-05
Afunção que vocêestáprocurando é
get_term_by
.Você usaria comotal:<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>
Isso resultaem
$term
Sendo um objeto que contém o seguinte:term_id name slug term_group term_taxonomy_id taxonomy description parent count
o codexfaz um ótimotrabalhoexplicandoestafunção: http://codex.wordpress.org/function_reference/get_term_by
The function you are looking for is
get_term_by
. You would use it as such:<?php $term = get_term_by('slug', 'my-term-slug', 'category'); $name = $term->name; ?>
This results in
$term
being an object containing the following:term_id name slug term_group term_taxonomy_id taxonomy description parent count
The codex does a great job explaining this function: http://codex.wordpress.org/Function_Reference/get_term_by
-
Você chegou antes demim.Isso éexatamente o queeufaria.you beat me to it. This is exactly what i would do to.
- 0
- 2011-05-05
- xLRDxREVENGEx
-
E se vocênãotiver a lesma detaxonomia?What if you don't have the taxonomy slug?
- 1
- 2017-05-07
- EkoJR
-
Vocêpode usar `get_term ($term_id);` se vocêtiver apenas o ID.You can use `get_term( $term_id );` if you only have the ID.
- 0
- 2020-07-11
- Gavin
-
- 2017-05-07
Issofornece uma resposta quando ataxonomia nãoestá disponível/desconhecida .
nomeu caso,ao usar get_term_by ,houve alguns casos onde láfoi apenas otermo slug (semidentificação outaxonomia). O queme levou aqui. Noentanto,a respostafornecidanão resolveumeuproblema.
Soluçãopara
$ Taxonomy
//Queremosencontrar o IDparaesta lesma. $termário_slug='foo-bar'; $taxonomies=get_taxonomies (); foreach ($taxonomias como $tax_type_key=> $taxonomia) { //se o objetotermofor devolvido,sair do loop. (Retornafalse senão houver objeto) if ($term_object=get_term_by ('slug',$term_slug,$taxonomy)) { intervalo; } } $term_id=$ Term_Object- >nome; echo 'O ID dotermo é:'. $term_id. '& lt; BR & GT;'; var_dump ($term_object);
resultado
O ID dotermo é: 32 objeto (wp_term) público 'term_id'=> Int 32. Nomepúblico '=> String 'Exemplem Term' público 'slug'=> String 'Exemplem-Term' público 'term_group'=> Int 0. público 'term_taxonomy_id'=>int 123. 'taxonomia'pública=> String 'Categoria' 'descrição'pública=>fragmento '' Público 'pai'=> Int 0. Público 'contagem'=>int 23. Filtropúblico '=> String 'Raw'
Como segue,o conceito recebe umamatriz de
$taxonomies
,loops através damatrize,seget_term_by ()
retorna uma correspondência,entãoeleimediatamente sai doforeach loop.Nota: Eutentei procurar ummétodopara obter ataxonomia associada (ID ou SLUG) dotermo slug,masinfelizmentenão consigoencontrar qualquer coisa disponívelno WordPress.
This provides an answer when the taxonomy is unavailable/unknown.
In my case, when using get_term_by, there were some instances where there was only the Term Slug ( No Term ID or Taxonomy ). Which led me here. However, the answer provided didn't quite resolve my issue.
Solution for empty
$taxonomy
// 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 );
Result
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'
As follows, the concept gets an array of
$taxonomies
, loops through the array, and IFget_term_by()
returns a match, it then immediately breaks out of the foreach loop.Note: I tried searching for a method to get the associated taxonomy ( ID or Slug ) from Term Slug, but unfortunately I am unable to find anything available in WordPress.
-
- 2019-01-03
Obrigado,issofuncionouparamim.
Eu criei umafunçãoe usá-lonovamentee novamente conformenecessário.
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; }
thanks, this worked for me.
I created a function and use it again and again as needed.
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; }
-
Você deve retornar osmesmostipos queget_term_by: (wp_term| array| false) WP_TERMinstance (oumatriz)no sucesso.Vai retornarfalso se $taxonomianãoexistir ou $termonãofoiencontrado.You should return the same types as get_term_by: (WP_Term|array|false) WP_Term instance (or array) on success. Will return false if $taxonomy does not exist or $term was not found.
- 0
- 2020-05-25
- xnagyg
Seeu conheço umtermo detaxonomia Slug,comoposso obter onome dessetermo?