Visualizzare il termine di tassonomia corrente all'interno di un custom post type

1 mar 2013, 13:43:30
Visualizzazioni: 102K
Voti: 8

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

0
Tutte le risposte alla domanda 4
0
17

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

2 mar 2013 10:11:44
8

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
1 mar 2013 14:20:38
Commenti

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

gil hamer gil hamer
1 mar 2013 14:46:08

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.

RRikesh RRikesh
1 mar 2013 18:14:06

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

gil hamer gil hamer
1 mar 2013 18:28:18

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

RRikesh RRikesh
1 mar 2013 18:32:32

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

gil hamer gil hamer
1 mar 2013 18:35:59

ho aggiornato la risposta.

RRikesh RRikesh
1 mar 2013 19:12:03

Sfortunatamente non ha funzionato: 1. Mi restituisce un art

gil hamer gil hamer
1 mar 2013 22:11:25

Scusa ma non ha funzionato per me: 1. mi dà un errore mostrando un array non necessario (probabilmente non puoi ignorare il parametro '$arg'). 2. non ha cambiato il nome del termine quando ho mostrato un post da un altro termine. Qualche altra soluzione? Grazie

gil hamer gil hamer
1 mar 2013 23:36:38
Mostra i restanti 3 commenti
0

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); } } ?>
28 ott 2016 14:50:15
1
<?php echo get_the_term_list( $post->ID, 'yourtaxonomy', '', ', ' ); ?>
10 lug 2017 02:23:02
Commenti

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?

Howdy_McGee Howdy_McGee
10 lug 2017 03:27:34