Cum obții termenul curent din taxonomia personalizată în WordPress?
Am nevoie să afișez termenul curent din taxonomia mea personalizată într-o postare individuală.
exemplu:
- Taxonomia mea personalizată este products și termenii acesteia sunt product-1, product-2 și products-3.
- Postarea mea este atribuită la product-2
- Și vreau să afișez produsul curent = products-2 în postarea mea
De fapt, am nevoie de o funcție similară cu the_category();
din WordPress, dar pentru taxonomia mea, ceva de genul the_customtaxonomy();
ACTUALIZARE:
de fapt știu că trebuie să obțin ID-ul acestuia pentru că am nevoie să afișez o iconiță pentru acesta în pagina single, de exemplu o funcție ca the_category_ID();

Puteți utiliza get_the_term_list()
:
Descriere
Returnează un șir HTML al termenilor de taxonomie asociați cu un articol și o taxonomie dată. Termenii sunt legați către paginile lor respective de listare a termenilor.
Utilizare
<?php get_the_term_list( $id, $taxonomy, $before, $sep, $after ) ?>

singura problemă cu get_the_term_list este că înfășoară termenii în html. folosește wp_get_object_terms() pentru a obține înapoi un array cu termeni

mulțumesc pentru răspunsul prietenului meu, am găsit cum să afișez slug-ul taxonomiei mele
<?php
$terms = get_terms('my-taxonomy-name');
foreach ( $terms as $term ) {
echo $term->slug.' ';
}
?>
dar returnează toți termenii din taxonomia mea și eu am nevoie să returnez doar termenul curent din taxonomia mea..
ACTUALIZARE:
în final am găsit această soluție și am adăugat o verificare pentru termeni goali și funcționează
<?php // Obține termenii pentru postare
$terms = get_the_terms( $post->ID , 'oil' );
// Parcurge fiecare element din array
if ( $terms != null ){
foreach( $terms as $term ) {
// Afișează metoda slug din obiectul $term
print $term->slug ;
// Elimină celelalte date stocate în obiect, deoarece nu sunt necesare
unset($term);
} } ?>

L-am găsit:
<?php
//listă termenii dintr-o taxonomie dată folosind wp_list_categories (util și ca widget dacă folosești un plugin PHP Code)
$taxonomy = 'genre';
$orderby = 'name';
$show_count = 0; // 1 pentru da, 0 pentru nu
$pad_counts = 0; // 1 pentru da, 0 pentru nu
$hierarchical = 1; // 1 pentru da, 0 pentru nu
$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>
Aceasta preia toți termenii din taxonomia mea personalizată și am nevoie să obțin termenul curent.

Trebuie să folosești wp_get_object_terms()
wp_get_object_terms( $object_ids, $taxonomies, $args )
- $object_ids: șir de caractere sau array cu ID-urile obiectelor pentru care dorești să obții termenii
- $taxonomies: șir de caractere sau array cu taxonomiile

Pe baza codului scris de user3208, am adăugat un pic de cod care adaugă URL-ul la Termen. Sper că ajută pe cineva.
<?php // Obține termenii pentru postare
$terms = get_the_terms( $post->ID , 'oil' );
// Parcurge fiecare element deoarece este un array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
// Afișează numele și URL-ul
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Elimină celelalte date stocate în obiect, deoarece nu sunt necesare
unset($term); } } ?>

Un mic update pe această temă, deoarece întrebarea are aproximativ 11 ani și nimeni nu a menționat acest lucru.
Poți folosi get_query_var()
.
Returnează valoarea unei variabile de interogare din clasa WP_Query. pentru a obține termenul curent care este interogat pe o pagină de taxonomie.
În loc să facem o altă interogare, pur și simplu preluăm termenul din cea curentă. Apoi îl putem afișa pe front-end.
<?= get_query_var( 'term' ); ?>
