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.

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


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

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;
}

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 );
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.