get_the_term_list bez linków w 3.1

13

Jaka funkcja wyświetla niestandardowe taksonomie powiązane z postem jako tekst?

Obecnie używam get_the_term_list, która działa świetnie na pojedynczej stronie, ale nie tak bardzo, gdy używam taksonomii w tagu tytułowym permalink archive-postype.php.

m-torin
źródło

Odpowiedzi:

15

wp_get_object_terms () zwraca warunki związane z obiektem (np. postem, stroną lub postem niestandardowym) jako tekst (zwykle w tablicy).

Ze strony Kodeksu dla wp_get_object_terms ()

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

anu
źródło
Pamiętaj, że wyniki zapytania nie są buforowane get_the_terms(). Aby uzyskać informacje, zobacz stronę kodeksu .
Dylan
22

Jakkolwiek @anu ma rację, doszedłem do wniosku, że możesz wywołać funkcję php strip_tags, aby usunąć tagi wartości zwracanej.

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );
Zack
źródło
Wygląda tak prosto i działa. Czy korzystanie z tego ma jakąś wadę?
Mohsin
@Mohsin Jednym minusem jest to, że usuwa wszystkie tagi, a nie tylko tag <a>. Możesz jednak zapobiec usuwaniu pożądanych tagów, tak jak:$terms = strip_tags( $terms, '<li>' );
David
1
$terms = wp_list_pluck( get_the_terms( get_the_ID(), 'your_taxonomy' ), 'name');

Tutaj $ terminy to tablica, więc możesz użyć pętli foreach.

foreach( $terms as $term ) {
  echo $term;
}
Razor Khan
źródło
0

Potrzebuję tego samego i wypróbowałem rozwiązanie Zacka, które działa świetnie. Na przykład, jeśli potrzebujesz tylko terminu, aby wstawić identyfikator css lub klasę. Tylko jedna anotacja na temat rozwiązania, funkcja jest źle nazywana, właściwie to „get_the_term_list”.

Pokazuję mój przykład:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );
Początkujący Wordpress
źródło