web-dev-qa-db-ja.com

WordPressで現在の分類用語IDを取得するにはどうすればよいですか?

WordPressテーマフォルダーにtaxonomy.phpページを作成しました。関数の現在の用語IDを取得したいと思います。どうすれば入手できますか?

get_query_var('taxonomy')はslugという用語のみを返します。IDが必要です

101
Imran

気にしないで!見つけた :)

get_queried_object()->term_id;
266
Imran

必要なコードスニペット全体を次に示します。

$queried_object = get_queried_object();
$term_id = $queried_object->term_id;
36
Tim Bowen

シンプルで簡単!

get_queried_object_id()
30
theMukhiddin

コードの下に貼り付けてください!

これにより、現在の分類名と説明が出力されます(オプション)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>
10
Varsha Dhadge
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>
6
Jadson Moreira

分類ページにいる場合。

これが、分類に関するすべての詳細を取得する方法です。

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;
4
Fury

wp_get_post_terms() を参照してください、あなたはそのようなことをします:

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

print_r($terms);
2

それはあなたが望むスラッグという用語です。それがあなたが必要なものであれば、あなたはこのような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 );
        }
    }
1