get_the_term_list sem links no 3.1


13

Que função exibirá taxonomias personalizadas associadas a uma postagem como texto?

Atualmente, estou usando get_the_term_list, que funciona muito bem para uma página singular, mas não tanto ao usar uma taxonomia na tag de título do arquivo morto-postype.php permalink.

Respostas:


15

wp_get_object_terms () retorna os termos associados a um objeto (por exemplo, uma postagem ou uma página ou postagem personalizada) como texto (normalmente em uma matriz).

Na página Codex para wp_get_object_terms ()

$productcategories = wp_get_object_terms($post->ID, 'productcategories');


Lembre-se de que os resultados da consulta não são armazenados em cache get_the_terms(). Veja a página do codex para informações.
Dylan

22

No entanto, @anu está certo, eu descobri que você pode chamar a função php strip_tags para remover as tags do valor de retorno.

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );

Parece tão simples e faz o trabalho. Existe alguma desvantagem em usar isso?
Mohsin

@Mohsin Uma desvantagem é que retira todas as tags, não apenas a tag <a>. No entanto, você pode impedir que as tags desejadas sejam removidas, da seguinte forma:$terms = strip_tags( $terms, '<li>' );
David


0

Eu preciso do mesmo e tentei a solução Zack que funciona muito bem. Por exemplo, se você precisar apenas do termo para inserir na css id ou classe. Apenas uma anotação sobre a solução, a função é chamada incorretamente, corretamente é "get_the_term_list".

Eu mostro meu exemplo:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );

0
$terms = wp_list_pluck( get_the_terms( get_the_ID(), 'your_taxonomy' ), 'name');

Aqui $ terms é uma matriz, para que você possa usar um loop foreach.

foreach( $terms as $term ) {
  echo $term;
}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.