¿Cómo obtengo la identificación del término de taxonomía actual en WordPress?


120

He creado una página taxonomy.php en mi carpeta de temas de WordPress. Me gustaría obtener la identificación del término actual para una función. ¿Cómo puedo conseguir esto?

get_query_var('taxonomy') solo devuelve el término slug, quiero la identificación

Respuestas:


304

¡No importa! Lo encontré :)

get_queried_object()->term_id;

4
¡Excelente! Esto me ahorró mucho tiempo: D
MavBzh

¡Muchas gracias!
Anahit Ghazaryan

26
También puede usar get_queried_object_id()para recuperar solo la identificación. El fragmento completo sería$term_id = get_queried_object_id();
David

Buena respuesta . Recientemente, vi una pregunta en el intercambio de pila de WordPress. ¿Podría comprobarlo? wordpress.stackexchange.com/questions/214453/…

Muchas gracias
FaISalBLiNK

42

¡Simple y fácil!

get_queried_object_id()

3
get_queried_object_id () se introdujo en 3.1.0 (23 de febrero de 2011) y debería ser la respuesta correcta para la pregunta formulada. > taxonomy.phppágina en mi carpeta de plantillas de wordpress, me gustaría obtener la actual term idpara una función.
Pea

1
Sí, esta respuesta fue perfecta
Gendrith

39

Aquí está el fragmento de código completo necesario:

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;

14

¡Simplemente copie y pegue debajo del código!

Esto imprimirá el nombre y la descripción de su taxonomía actual (opcional)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>

11

Si estás en la página de taxonomía.

Así es como obtienes todos los detalles sobre la taxonomía.

get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );

Así es como obtienes el id de taxonomía

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;

Pero si está en la página de publicación (taxomonía -> niño)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;

7
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>


1

Es el término slug que quieres. Parece que puedes obtener la identificación así si eso es lo que necesitas:

function get_term_link( $term, $taxonomy = '' ) {
    global $wp_rewrite;

    if ( !is_object($term) ) {
        if ( is_int( $term ) ) {
            $term = get_term( $term, $taxonomy );
        } else {
            $term = get_term_by( 'slug', $term, $taxonomy );
        }
    }
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.