如何在 WordPress 中获得当前的分类术语 ID (而不是 slug) ?

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

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

310321 次浏览

算了,我找到了

get_queried_object()->term_id;

下面是所需的整个代码片段:

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

看看 < strong > wp _ get _ post _ term () ,你会这样做:

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


print_r($terms);

简单明了!

get_queried_object_id()

这是你想要的术语,看起来你可以得到这样的 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 );
}
}

使用以下代码

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

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

如果你在分类页面。

这样就可以得到分类的所有细节。

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;

但是,如果您在后页(taxomony-> child)

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

这适用于所有页面类型,而不仅仅是分类术语档案

$category_id = get_the_category( get_the_ID());
$id          = get_category($category_id[0]->term_id);