get_the_term_list senza collegamenti in 3.1


13

Quale funzione mostrerà le tassonomie personalizzate associate a un post come testo?

Attualmente sto usando get_the_term_list che funziona benissimo per una pagina singolare, ma non tanto quando si usa una tassonomia nel tag del titolo permalink di archivio-postype.php.

Risposte:


15

wp_get_object_terms () restituisce i termini associati a un oggetto (ad esempio un post o una pagina o un post personalizzato) come testo (normalmente in un array).

Dalla pagina del codice per wp_get_object_terms ()

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


Tieni presente che i risultati della query non sono memorizzati nella cache come get_the_terms(). Vedi la pagina del codice per informazioni.
Dylan,

22

Comunque @anu ha ragione, ho capito che puoi chiamare la funzione php strip_tags per eliminare i tag del valore di ritorno.

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

Sembra così semplice e fa il lavoro. C'è qualche svantaggio usando questo?
Mohsin,

@Mohsin Uno svantaggio è che rimuove tutti i tag, non solo il tag <a>. Tuttavia, puoi impedire che i tag desiderati vengano rimossi, in questo modo:$terms = strip_tags( $terms, '<li>' );
David


0

Ho bisogno della stessa e provata soluzione Zack che funziona alla grande. Ad esempio, se hai bisogno solo del termine per inserire id o classe css. Solo un'anotazione sulla soluzione, la funzione è chiamata male, è correttamente "get_the_term_list".

Mostro il mio esempio:

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

Qui $ terms è un array, quindi puoi usare un ciclo foreach.

foreach( $terms as $term ) {
  echo $term;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.