如何在wordpress上获取当前的分类术语id?

Inv*_*tax 105 php wordpress taxonomy

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

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

Inv*_*tax 281

没关系!我找到了 :)

get_queried_object()->term_id;
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用`get_queried_object_id()`来只检索ID.整个片段将是`$ term_id = get_queried_object_id();` (20认同)
  • 大!这为我节省了很多时间:D (4认同)
  • 请记住,这仅在分类页面中有效。但如果您在分类子页面中,您将不会获得分类 ID。 (3认同)

Tim*_*wen 38

这是所需的完整代码段:

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;
Run Code Online (Sandbox Code Playgroud)


小智 37

简单易行!

get_queried_object_id()
Run Code Online (Sandbox Code Playgroud)

  • [get_queried_object_id()](https://developer.wordpress.org/reference/functions/get_queried_object_id/)于3.1.0(2011年2月23日)推出,应该是问题的正确答案.>我的wordpress模板文件夹中的`taxonomy.php`页面,我想得到一个函数的当前`term id`. (3认同)

Var*_*dge 11

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

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

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


小智 7

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


Fur*_*ury 7

如果您在分类页面中。

这样便可以获取有关分类法的所有详细信息。

get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
Run Code Online (Sandbox Code Playgroud)

这是获取分类ID的方法

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;
Run Code Online (Sandbox Code Playgroud)

但是,如果您在帖子页中(分类法->儿童)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
Run Code Online (Sandbox Code Playgroud)