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

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

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

7 ответов


Фигу! Я нашел его :)

get_queried_object()->term_id;

вот весь необходимый фрагмент кода:

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

просто и легко!

get_queried_object_id()

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

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

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

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

посмотреть wp_get_post_terms (), вы бы сделали что-то вроде этого:

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

print_r($terms);

это термин слизняк, который вы хотите.Похоже, вы можете получить id, как это, если это то, что вам нужно:

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