Ottenere lo 'slug' di una tassonomia personalizzata in WordPress

4 ott 2010, 03:39:28
Visualizzazioni: 13.8K
Voti: 4

Caso d'uso:

Ho un custom post type 'show' per un locale musicale. Nella sidebar vogliamo visualizzare gli 'show' correlati a quello corrente in single-show.php. Saranno correlati tramite una tassonomia personalizzata 'genre'. Pensavo di poter inserire gli slug delle tassonomie personalizzate per un post (potrebbero essercene più di uno) in una variabile e poi passare quella variabile in una query personalizzata per i post della sidebar.

Usare get_the_term_list() funziona se c'è una sola tassonomia ma se ce ne sono multiple si interrompe (ovviamente).

Qualche idea su come ottenere un array degli slug delle tassonomie personalizzate per un dato post in una variabile?

0
Tutte le risposte alla domanda 1
2

Puoi fare qualcosa di simile al seguente:

$terms = get_the_terms( $post->id, 'genre' ); // ottieni un array di tutti i termini come oggetti

$terms_slugs = array();

foreach( $terms as $term ) {
    $terms_slugs[] = $term->slug; // salva gli slug in un array
}
4 ott 2010 04:58:40
Commenti

Mi ha dato quello che volevo. Sfortunatamente WordPress non supporta query per multiple tassonomie personalizzate senza qualche hack SQL (LEFT JOIN...).

curtismchale curtismchale
4 ott 2010 20:15:04

Nel caso non lo sapessi, c'è un plugin per interrogare multiple tassonomie: http://wordpress.org/extend/plugins/query-multiple-taxonomies/

sorich87 sorich87
4 ott 2010 20:34:15