Bagaimana cara mendapatkan id istilah taksonomi saat ini di WordPress?

120

Saya telah membuat halaman taxonomy.php di folder tema WordPress saya. Saya ingin mendapatkan istilah id saat ini untuk suatu fungsi. Bagaimana saya bisa mendapatkan ini?

get_query_var('taxonomy') hanya mengembalikan istilah siput, saya ingin ID-nya

Sintaks tidak valid
sumber

Jawaban:

304

Lupakan! Aku menemukannya :)

get_queried_object()->term_id;
Sintaks tidak valid
sumber
4
Bagus! Ini menghemat banyak waktu saya: D
MavBzh
Terima kasih banyak!
Anahit Ghazaryan
26
Anda juga bisa menggunakan get_queried_object_id()untuk mengambil ID saja. Cuplikan utuh akan menjadi$term_id = get_queried_object_id();
David
Jawaban yang bagus . Baru-baru ini saya melihat pertanyaan di bursa tumpukan WordPress. Bisakah Anda memeriksanya. wordpress.stackexchange.com/questions/214453/…
Terima kasih banyak
FaISalBLiNK
42

Sederhana dan mudah!

get_queried_object_id()
theMukhiddin
sumber
3
get_queried_object_id () diperkenalkan di 3.1.0 (23 Februari 2011) dan seharusnya menjadi jawaban yang benar untuk pertanyaan yang diajukan. > taxonomy.phphalaman di folder template wordpress saya, saya ingin mendapatkan arus term iduntuk suatu fungsi.
Pea
1
Ya, jawaban ini sempurna
Gendrith
39

Berikut seluruh cuplikan kode yang diperlukan:

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

Cukup salin tempel kode di bawah ini!

Ini akan mencetak nama dan deskripsi taksonomi Anda saat ini (opsional)

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

Jika Anda berada di halaman taksonomi.

Begitulah cara Anda mendapatkan semua detail tentang taksonomi.

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

Ini adalah bagaimana Anda mendapatkan id taksonomi

$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;

Tetapi jika Anda berada di halaman posting (taksonomi -> anak)

$terms = wp_get_object_terms( get_queried_object_id(), 'taxonomy-name');
$term_id = $terms[0]->term_id;
Kemarahan
sumber
7
<?php 
$terms = get_the_terms( $post->ID, 'taxonomy');
foreach ( $terms as $term ) {
    $termID[] = $term->term_id;
}
echo $termID[0]; 
?>
Jadson Moreira
sumber
3

Lihat wp_get_post_terms () , Anda akan melakukan sesuatu seperti ini:

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

print_r($terms);
Purvik Dhorajiya
sumber
1

Itu istilah slug yang Anda inginkan, sepertinya Anda bisa mendapatkan id seperti ini jika itu yang Anda butuhkan:

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 );
        }
    }
SYED FARHAN KARIM
sumber