如何在WordPress上获取当前的分类术语ID?

时间:2012-09-05 20:21:50

标签: php wordpress taxonomy

我在我的WordPress主题文件夹中创建了一个taxonomy.php页面。我想得到一个函数的当前术语id。 我怎么能得到这个?

get_query_var('taxonomy')只返回术语slug,我想要ID

8 个答案:

答案 0 :(得分:262)

没关系!我找到了它:)

get_queried_object()->term_id;

答案 1 :(得分:35)

以下是所需的完整代码段:

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

答案 2 :(得分:30)

简单易用!

get_queried_object_id()

答案 3 :(得分:10)

只需在代码下方复制粘贴!

这将打印您当前的分类名称和描述(可选)

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

答案 4 :(得分:6)

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

答案 5 :(得分:4)

如果您在分类页面中。

这就是您获得有关分类法的所有详细信息的方式。

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

这是获取分类法ID的方式

$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;

答案 6 :(得分:2)

请参阅wp_get_post_terms(),您可以这样做:

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

print_r($terms);

答案 7 :(得分:1)

这就是你想要的slug一词。看起来你可以得到这样的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 );
        }
    }