Visualizzare il termine di tassonomia corrente all'interno di un custom post type
Beh, dovrebbe essere abbastanza semplice, tuttavia non sono riuscito a trovare una risposta da nessuna parte sul web. Tutte le risposte che ho trovato erano simili ma non esattamente quello di cui avevo bisogno. Quello che mi serve è visualizzare solo il termine corrente del custom post type in cui mi trovo. non tutti i termini, solo uno! (quello pertinente)
Questo è quello che sto usando ma visualizza TUTTI i termini, che non va bene per me:
<?php
$taxonomy = 'genre';
$queried_term = get_query_var($taxonomy);
$terms = get_terms($taxonomy, 'slug='.$queried_term);
if ($terms) {
foreach($terms as $term) {
echo $term->name;
}
}
?>
ricorda - vorrei visualizzarlo nel mio template del singolo post type qualcuno può suggerire? grazie

Ok, quindi finalmente ho trovato quello che mi serviva qui: Come ottenere il termine corrente nella mia tassonomia personalizzata in WordPress?
l'ultimo aggiornamento in fondo gentilmente offerto da @user3208:
<?php // Ottieni i termini per il post
$terms = get_the_terms( $post->ID , 'oil' );
// Scorri ogni elemento poiché è un array
if ( $terms != null ){
foreach( $terms as $term ) {
// Stampa il metodo name da $term che è un OGGETTO
print $term->slug ;
// Elimina gli altri dati memorizzati nell'oggetto, poiché non sono necessari
unset($term);
} } ?>
Questo ha risolto il mio problema! Grazie

Dovresti utilizzare wp_get_post_terms
invece.
$terms = wp_get_post_terms( $post_id, $taxonomy, $args );
get_terms
ti restituirà tutti i termini presenti in una tassonomia.
AGGIORNAMENTO:
global $post;
$terms = wp_get_post_terms( $post->ID, 'genre');
print_r($terms); #mostra l'output

Sto provando ma non funziona. Devo passare delle variabili alla funzione? Puoi specificare come dovrei implementarla nel mio codice? Grazie

Se ti trovi nel Loop di WordPress, puoi usare get_the_ID()
invece di $post_id
. Per $taxonomy
, devi aggiungere il nome della tassonomia che stai utilizzando. $args
non è necessario.

È decisamente fuori dal loop! Semplicemente non riesco a farlo funzionare.. puoi suggerire come implementarlo fuori dal loop? Se necessario posterò tutto il codice. Grazie

Quindi devi aggiungere global $post;
e poi usare $post->ID
per ottenere l'ID del post.

puoi mostrarmi un esempio usando il mio codice qui sopra? Non sono un programmatore esperto. Lo apprezzerei. Grazie

Prendendo il codice di user3208, ho aggiunto un po' di codice che include l'URL al Termine. Spero che questo possa aiutare qualcuno.
<?php // Ottieni i termini per il post
$terms = get_the_terms( $post->ID , 'oil' );
// Scorri ogni elemento poiché è un array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
// Stampa il nome e l'URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Elimina gli altri dati memorizzati nell'oggetto, poiché non sono necessari
unset($term); } } ?>

Le risposte composte solo da codice sono generalmente malviste senza una spiegazione. Potresti per favore modificare la tua risposta e spiegare cosa fa questa funzione e come risolve il problema originale, magari collegando al Codex per maggiori informazioni?
