get_the_term_list ohne links in 3.1


13

Welche Funktion zeigt benutzerdefinierte Taxonomien an, die einem Beitrag als Text zugeordnet sind?

Momentan verwende ich get_the_term_list, was hervorragend für eine einzelne Seite geeignet ist, aber weniger, wenn eine Taxonomie im Titel-Tag des Permalinks archive-postype.php verwendet wird.

Antworten:


15

wp_get_object_terms () gibt die mit einem Objekt verknüpften Begriffe (z. B. einen Beitrag oder eine Seite oder einen benutzerdefinierten Beitrag) als Text zurück (normalerweise in einem Array).

Von der Codex-Seite für wp_get_object_terms ()

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


Beachten Sie, dass die Abfrageergebnisse nicht wie im Cache gespeichert werden get_the_terms(). Weitere Informationen finden Sie auf der Codex-Seite .
Dylan

22

Wie auch immer @anu richtig ist, ich habe herausgefunden, dass Sie die PHP-Funktion strip_tags aufrufen können , um die Tags des Rückgabewerts zu entfernen .

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

Sieht so einfach aus und macht den Job. Gibt es einen Nachteil damit?
Mohsin

@Mohsin Ein Nachteil ist, dass alle Tags entfernt werden, nicht nur das <a> -Tag. Sie können jedoch verhindern, dass die gewünschten Tags entfernt werden, beispielsweise:$terms = strip_tags( $terms, '<li>' );
David


0

Ich brauche die gleiche und ausprobierte Zack-Lösung, die super funktioniert. Zum Beispiel, wenn Sie nur den Begriff benötigen, um css id oder class einzugeben. Nur eine Anmerkung zu der Lösung, die Funktion ist falsch aufgerufen, richtig ist "get_the_term_list".

Ich zeige mein Beispiel:

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

Hier ist $ terms ein Array, sodass Sie eine foreach-Schleife verwenden können.

foreach( $terms as $term ) {
  echo $term;
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.