Cara mendapatkan istilah taksonomi dari halaman saat ini dan mengisi kueri dalam templat

16

Saya telah tersandung sekitar mencoba mencari cara untuk mendapatkan istilah taksonomi tertentu dari halaman saat ini sehingga saya selanjutnya dapat mengisi permintaan pada halaman untuk jenis posting lain yang berbagi istilah yang sama.

Pada dasarnya:

  • Halaman 1 memiliki istilah taksonomi - kebijakan pendidikan
  • page.php memiliki empat bagian:
    1. loop standar yang menampilkan halaman, tetapi kemudian memiliki tiga permintaan berikutnya
    2. loop untuk acara yang memiliki istilah taksonomi - kebijakan pendidikan
    3. loop untuk laporan yang memiliki istilah taksonomi - kebijakan pendidikan
    4. loop untuk orang-orang yang memiliki istilah taksonomi - kebijakan pendidikan

Saya melakukan templat khusus halaman di mana saya hanya bisa mengubah kode istilah menjadi loop ekstra, tetapi saya perlu mencari tahu bagaimana melakukannya secara dinamis (yang semula seharusnya empat atau lima halaman sekarang empat puluh atau lima puluh).

Saya telah menemukan beberapa pertanyaan serupa, tetapi tidak ada yang benar-benar dapat saya temukan melalui implementasi.

Dapatkan taksonomi halaman saat ini yang agak membingungkan untuk mengikuti dalam hal apa yang sebenarnya diminta.

Dapatkan id istilah milik taksonomi khusus pada halaman templat single-post-type.php khusus

Saya harap ini masuk akal dan terima kasih banyak.

Christopher
sumber

Jawaban:

25

Hm, jika Anda mendaftarkan taksonomi untuk tipe objek "halaman" dengan benar dan kemudian menetapkan istilah taksonomi itu ke sebuah halaman ... Saya yakin Anda dapat mengakses taksonomi dan siput istilah dengan cara berikut:

get_query_var( 'taxonomy' )
get_query_var( 'term' )

Jika Anda, print_r($wp_query)Anda akan melihat semua parameter yang ada saat membuat halaman saat ini yang ditampilkan. Dengan kode di atas Anda mengakses parameter tersebut dari $wp_query.

Kemudian untuk mendapatkan istilah objek dengan info lengkap Anda dapat menggunakan fungsi get_term_by , seperti itu

$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;

Ini akan mencetak nama "bagus" dari istilah tersebut.

Saya percaya jika Anda menggunakan get_query_var('term')atau $term->slug(setelah mendapatkan istilah objek) Anda dapat menggunakan siput itu di semua pertanyaan lainnya.

Semoga itu bisa membantu. Saya tidak pernah menggunakan taksonomi untuk halaman. Beri tahu saya bagaimana caranya.

dashaluna
sumber
2

Cukup salin tempel kode di bawah ini

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

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

Mungkin Anda perlu mengaktifkan pencarian untuk mengaktifkan pagination

Saat mendeklarasikan taksonomi khusus, Anda harus menonaktifkan pencarian tidak termasuk.

exclude_from_search => false

Ini memperbaiki masalah saya.

ShoveItUpYour____
sumber