Como obter um nome de termo de taxonomia pelo slug?

17

Se eu conheço um slug de termo de taxonomia, como posso obter o nome desse termo?

    
por Carson 05.05.2011 / 06:47

2 respostas

30

A função que você está procurando é get_term_by . Você iria usá-lo como tal:

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

Isso resulta em $term sendo um objeto contendo o seguinte:

term_id
name
slug
term_group
term_taxonomy_id
taxonomy
description
parent
count

O códice faz um ótimo trabalho explicando essa função: enlace

    
por tollmanz 05.05.2011 / 07:11
2

Isso fornece uma resposta quando a taxonomia está indisponível / desconhecida .

No meu caso, ao usar get_term_by , havia alguns casos em que havia apenas o Termo Slug (sem ID de termo ou taxonomia). O que me levou aqui. No entanto, a resposta fornecida não resolveu o meu problema.

Solução para $taxonomy vazio

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

Resultado

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'

Como segue, o conceito obtém uma matriz de $taxonomies , percorre a matriz e IF get_term_by() retorna uma correspondência, em seguida, imediatamente sai do loop foreach.

Nota: tentei pesquisar um método para obter a taxonomia associada (ID ou Slug) do Term Slug, mas infelizmente não consegui encontrar nada disponível no WordPress.

    
por EkoJR 07.05.2017 / 05:53

Tags