Come ottenere il termine corrente nella mia tassonomia personalizzata in WordPress?
Ho bisogno di visualizzare il termine corrente nella mia tassonomia personalizzata in un post singolo.
esempio:
- La mia tassonomia personalizzata è products e i suoi termini sono product-1, product-2 e products-3.
- Il mio post è assegnato a product-2
- E voglio stampare i prodotti correnti = products-2 nel mio post
In pratica, ho bisogno di una funzione come the_category();
di WordPress ma per la mia tassonomia, tipo the_customtaxonomy();
AGGIORNAMENTO:
in effetti so che devo ottenere l'ID di questo perché ho bisogno di mostrare un'icona per questo nel mio post singolo, per esempio una funzione come the_category_ID();

Puoi utilizzare get_the_term_list()
:
Descrizione
Restituisce una stringa HTML dei termini di tassonomia associati a un post e alla tassonomia specificata. I termini sono collegati alle rispettive pagine di elenco.
Utilizzo
<?php get_the_term_list( $id, $taxonomy, $before, $sep, $after ) ?>

l'unico problema con get_the_term_list è che avvolge i termini in html. usa wp_get_object_terms() per ottenere un array di termini

grazie per la risposta amico mio, ho trovato questo per mostrare lo slug della mia tassonomia
<?php
$terms = get_terms('my-taxonomy-name');
foreach ( $terms as $term ) {
echo $term->slug.' ';
}
?>
ma restituisce tutti i termini della mia tassonomia e invece ho bisogno di restituire solo il termine corrente nella mia tassonomia..
AGGIORNAMENTO:
alla fine ho trovato questa soluzione e ho aggiunto un controllo per i termini vuoti, funziona
<?php // Ottiene i termini per il post
$terms = get_the_terms( $post->ID , 'oil' );
// Scorre ogni elemento dell'array
if ( $terms != null ){
foreach( $terms as $term ) {
// Stampa il metodo slug da $term che è un OGGETTO
print $term->slug ;
// Elimina gli altri dati memorizzati nell'oggetto, poiché non sono necessari
unset($term);
} } ?>

L'ho trovato:
<?php
//elenca i termini in una determinata tassonomia usando wp_list_categories (utile anche come widget se si usa un plugin PHP Code)
$taxonomy = 'genre';
$orderby = 'name';
$show_count = 0; // 1 per sì, 0 per no
$pad_counts = 0; // 1 per sì, 0 per no
$hierarchical = 1; // 1 per sì, 0 per no
$title = '';
$args = array(
'taxonomy' => $taxonomy,
'orderby' => $orderby,
'show_count' => $show_count,
'pad_counts' => $pad_counts,
'hierarchical' => $hierarchical,
'title_li' => $title
);
?>
<ul>
<?php wp_list_categories( $args ); ?>
</ul>
Ottiene tutti i termini nella mia tassonomia personalizzata e ho bisogno di ottenere il termine corrente.

È necessario utilizzare wp_get_object_terms()
wp_get_object_terms( $object_ids, $taxonomies, $args )
- $object_ids: stringa o array di ID per gli oggetti di cui si desiderano ottenere i termini
- $taxonomies: stringa o array di tassonomie

Prendendo il codice di user3208, ho aggiunto un po' di codice che include l'URL al Termine. Spero che possa aiutare qualcuno.
<?php // Ottieni i termini per il post
$terms = get_the_terms( $post->ID , 'oil' );
// Cicla su 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); } } ?>

Un piccolo aggiornamento sull'argomento, visto che questa domanda risale a circa 11 anni fa e nessuno ne ha parlato.
Puoi usare get_query_var()
.
Recupera il valore di una variabile di query nella classe WP_Query. per ottenere il termine corrente su cui si sta effettuando la query in una pagina di tassonomia.
Invece di eseguire un'altra query, stiamo semplicemente recuperando il termine da quella corrente. Poi possiamo visualizzarlo in front-end.
<?= get_query_var( 'term' ); ?>
