Mostra la tassonomia delle categorie per un custom post type

24 lug 2014, 13:20:07
Visualizzazioni: 15.3K
Voti: 1

Ho un custom post type e una tassonomia che permette all'utente di selezionare la categoria del post.

Ecco la mia tassonomia personalizzata:

add_action( 'init', 'create_talcat_taxonomy', 0);
function create_Talcat_taxonomy()
{
    register_taxonomy ( 'Talcat', 'artist', array( 'hierarchical' =>
    true, 'label' => 'Categorie', 'query_var' => true, 'rewrite' => true )
);
}

Nella mia homepage sto interrogando post_type=artist, che funziona bene e mostra i miei post di artisti. Tuttavia, come posso stampare/visualizzare il nome della categoria a cui appartiene il post e poi collegarlo a quella pagina di categoria?

0
Tutte le risposte alla domanda 2
2

Ho trovato un modo semplice e pulito per visualizzare il termine della tassonomia assegnato al post con il seguente codice:

<?php the_terms( $post->ID, 'NOME DELLA TASSONOMIA', ' ', ' / ' ); ?>

L'uso di the_terms recupera i termini associati all'oggetto/i specificato, nelle tassonomie fornite.

Qui un link al codex con esempi e ulteriori dettagli.

24 lug 2014 14:23:32
Commenti

Purtroppo devo aspettare 2 giorni prima di poterlo accettare.

probablybest probablybest
24 lug 2014 16:10:27

Nessun problema, non dimenticare di tornare tra due giorni. Purtroppo è così che funziona il sistema

Pieter Goosen Pieter Goosen
24 lug 2014 16:15:32
2

Credo che tu ti riferisca ai termini, non alle categorie. Puoi usare wp_list_categories per recuperare e visualizzare i termini a cui appartiene un articolo.

Ecco un esempio funzionante dal codex. Ricorda che la variabile $taxonomy può essere cambiata in category o in qualsiasi tassonomia personalizzata

<?php
$taxonomy = 'NOME DELLA TUA TASSONOMIA';

// ottieni gli ID dei termini assegnati all'articolo.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// separatore tra i link
$separator = ', ';

if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {

   $term_ids = implode( ',' , $post_terms );
   $terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=' . $term_ids );
   $terms = rtrim( trim( str_replace( '<br />',  $separator, $terms ) ), $separator );

    // visualizza le categorie dell'articolo
 echo  $terms;
}
?>

Solo un consiglio, non usare lettere maiuscole nel nome della tua tassonomia quando la registri. Nella maggior parte dei casi causa problemi

24 lug 2014 14:03:33
Commenti

Questo causa un errore di sintassi, unexpected '>' sulla riga che dice &post_terms.

probablybest probablybest
24 lug 2014 14:16:52

Scusa, hai ragione riguardo all'errore di sintassi. L'ho postato dal mio telefono e per qualche motivo ha rotto una delle frecce singole. Corretto.

Pieter Goosen Pieter Goosen
24 lug 2014 18:56:37