Saya memiliki taksonomi hierarkis yang disebut 'lokasi geografis'. Ini berisi benua di tingkat pertama, dan kemudian negara untuk masing-masing. Contoh:
Europe
- Ireland
- Spain
- Sweden
Asia
- Laos
- Thailand
- Vietnam
dll.
Menggunakan get_terms () saya berhasil menampilkan daftar istilah lengkap, tetapi benua-benua terlibat dengan negara-negara, dalam satu daftar besar.
Bagaimana saya bisa menampilkan daftar hierarkis seperti di atas?
taxonomy
list
terms
hierarchical
mike23
sumber
sumber
Jawaban:
Gunakan
wp_list_categories
dengan'taxonomy' => 'taxonomy'
argumen, itu dibangun untuk membuat daftar kategori hirarkis tetapi juga akan mendukung menggunakan taksonomi kustom ..Contoh Codex:
Menampilkan istilah dalam taksonomi khusus
Jika daftar kembali tampak datar, mungkin Anda hanya perlu sedikit CSS untuk menambahkan padding ke daftar, sehingga Anda dapat melihat struktur hierarkis mereka.
sumber
Saya menyadari, ini adalah pertanyaan yang sangat lama, tetapi jika Anda memiliki kebutuhan untuk membangun struktur istilah yang sebenarnya , ini mungkin metode yang berguna untuk Anda:
Penggunaannya adalah sebagai berikut:
sumber
$into[$cat->term_id] = $cat;
menjadi$into[] = $cat;
Memiliki ID istilah sebagai kunci array mengganggu (Anda tidak bisa mendapatkan elemen pertama dengan mudah menggunakan kunci 0) dan tidak berguna (Anda sudah menyimpan$cat
objek dan Anda bisa mendapatkan id menggunakanterm_id
propertiSaya tidak tahu fungsi apa pun yang melakukan apa yang Anda inginkan tetapi Anda dapat membangun sesuatu seperti ini:
Saya belum menguji ini tetapi Anda dapat melihat apa yang saya maksudkan. Apa yang akan dilakukan oleh kode di atas adalah memberi Anda hanya dua level
EDIT: ahh ya Anda dapat menggunakan wp_list_categories () untuk melakukan apa yang Anda inginkan.
sumber
wp_list_categories()
untuk menambahkan parameter GET Anda. Atau bahkan lebih baik membangun filter untuk fungsi untuk menambahkan bit yang Anda inginkan. Jangan tanya saya bagaimana Anda melakukan itu karena saya belum bisa mengatasinya :(wp_list_categories
jika Anda ingin kontrol yang lebih besar atas output, itu akan membuat kode Anda jauh lebih dapat digunakan kembali ..Anda dapat menggunakan wp_list_categories (), dengan argumen 'taksonomi'.
sumber
Karena saya sedang mencari yang sama tetapi untuk mendapatkan syarat satu posting, akhirnya saya mengkompilasi ini, dan itu berfungsi untuk saya.
Kegunaannya:
• ia mendapatkan semua ketentuan nama taksonomi untuk pos tertentu.
• untuk taksonomi hirarki dengan dua level (mis: level1: 'negara' dan level2: 'kota'), ia menciptakan h4 dengan level1 diikuti oleh daftar level2 ul dan ini untuk semua item level1.
• jika taksonomi tidak hierarkis, itu hanya akan membuat daftar semua item ul. di sini adalah kode (saya menulis untuk saya jadi saya mencoba untuk menjadi generik yang saya bisa tetapi ...):
Jadi akhirnya Anda memanggil fungsi dengan ini (jelas, Anda mengganti my_taxonomy dengan milik Anda):
finishingLister('my_taxonomy');
Saya tidak berpura-pura itu sempurna tetapi seperti yang saya katakan itu bekerja untuk saya.
sumber
Kode berikut akan menghasilkan drop-down dengan istilah, tetapi juga dapat menghasilkan elemen / struktur lain dengan mengedit variabel $ outputTemplate, dan mengedit baris str_replace:
sumber
Saya memiliki masalah ini dan tidak ada jawaban di sini yang bekerja untuk saya, karena satu dan lain alasan.
Ini adalah versi saya yang diperbarui dan berfungsi.
Dan penggunaan:
sumber
Saya menggunakan kode @popsi yang berfungsi sangat baik dan saya membuatnya menjadi lebih efisien dan mudah dibaca:
Penggunaan:
sumber
Pastikan itu
hierarchical=true
diteruskan keget_terms()
panggilan Anda .Perhatikan bahwa itu
hierarchical=true
adalah default, jadi sungguh, pastikan saja itu belum ditimpafalse
.sumber
get_terms()
akan mengembalikan daftar lengkap persyaratan (seperti yang dinyatakan OP) tetapi bukan daftar hierarki yang menunjukkan hubungan orang tua / anak seperti yang diminta.Di sini saya memiliki daftar pilih turun empat tingkat dengan item pertama tersembunyi
sumber