Mostrar el término de taxonomía actual dentro de un tipo de entrada personalizada
Bueno, esto debería ser bastante simple, sin embargo, no pude encontrar la respuesta en ninguna parte de la web. Todas las respuestas que encontré estaban cerca pero no eran exactamente lo que necesitaba. Lo que necesito es mostrar solo el término actual del tipo de entrada personalizada en el que estoy. ¡no todos los términos, solo uno! (el relevante)
Esto es lo que estoy usando pero muestra TODOS los términos, lo cual no es bueno para mí:
<?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;
}
}
?>
recuerden - Me gustaría mostrarlo en mi plantilla de entrada personalizada individual ¿alguien puede sugerir algo? gracias

Vale, así que finalmente encontré lo que necesitaba aquí: ¿Cómo obtener el término actual en mi taxonomía personalizada en WordPress?
la última actualización al final cortesía de @user3208:
<?php // Obtener términos para el post
$terms = get_the_terms( $post->ID , 'oil' );
// Recorrer cada elemento ya que es un array
if ( $terms != null ){
foreach( $terms as $term ) {
// Imprimir el método name desde $term que es un OBJETO
print $term->slug ;
// Descartar los otros datos almacenados en el objeto, ya que no son necesarios
unset($term);
} } ?>
¡Eso resolvió mi problema! Gracias

Deberías usar wp_get_post_terms
en su lugar.
$terms = wp_get_post_terms( $post_id, $taxonomy, $args );
get_terms
te dará todos los términos presentes en una taxonomía.
ACTUALIZACIÓN:
global $post;
$terms = wp_get_post_terms( $post->ID, 'genre');
print_r($terms); #muestra la salida

Estoy intentando pero no funciona. ¿Tengo que pasar alguna variable a la función? ¿Puedes especificar cómo debería implementarlo en mi código? Gracias

Si estás dentro del WordPress Loop, puedes usar get_the_ID()
en lugar de $post_id
. Para $taxonomy
, necesitas añadir el nombre de la taxonomía que estás usando. $args
no es necesario.

¡Definitivamente está fuera del loop! Simplemente no logro que funcione... ¿Puedes sugerir cómo implementarlo fuera del loop? Si es necesario, publicaré todo el código. Gracias

Luego necesitas agregar global $post;
y luego usar $post->ID
para obtener el ID del post.

¿Puedes mostrarme un ejemplo usando mi código anterior? No soy tan experto en programación. Te lo agradecería. Gracias

Tomando lo que codificó user3208, he añadido un poco de código que agrega la URL al Término. Espero que le sirva a alguien.
<?php // Obtener términos para el post
$terms = get_the_terms( $post->ID , 'oil' );
// Recorrer cada elemento ya que es un array
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
// Imprimir el nombre y la URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Eliminar los otros datos almacenados en el objeto, ya que no son necesarios
unset($term); } } ?>

Las respuestas que solo incluyen código generalmente no son bien vistas sin una explicación. ¿Podrías por favor editar tu respuesta y explicar qué hace esta función y cómo resuelve el problema original, tal vez enlazando al Codex para más información?
