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

Jawaban:


304

Lupakan! Aku menemukannya :)

get_queried_object()->term_id;

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()

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;

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 .''; 
?>

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;

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

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

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 );
        }
    }
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.