Как получить текущий идентификатор термина таксономии на WordPress?

Я создал страницу taxonomy.php в папке моей темы WordPress. Я хотел бы получить текущий идентификатор термина для функции. Как я могу получить это?

get_query_var('taxonomy') возвращает только термин slug, я хочу идентификатор

Ответ 1

Nevermind! Я нашел это:)

get_queried_object()->term_id;

Ответ 2

Здесь нужен весь фрагмент кода:

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

Ответ 3

Простой и легкий!

get_queried_object_id()

Ответ 4

Просто скопируйте пасту ниже кода!

Это напечатает ваше текущее название и описание таксономии (необязательно)

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

Ответ 5

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

Ответ 6

Смотрите wp_get_post_terms(), вы бы сделали примерно так:

global $post;
$terms = wp_get_post_terms( $post->ID, 'YOUR_TAXONOMY_NAME',array('fields' => 'ids') );

print_r($terms);

Ответ 7

Если вы находитесь на странице таксономии.

Вот как вы получите все подробности о таксономии.

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

Вот как вы получаете идентификатор таксономии

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

Но если вы находитесь на странице поста (таксономия → ребенок)

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

Ответ 8

Это термин slug, который вы хотите. Посмотрите, как вы можете получить идентификатор, как это, если это вам нужно:

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 );
        }
    }