Pertanyaan WPSE terkait menanyakan cara mendapatkan istilah dengan menentukan ID saja, tanpa menentukan taksonomi. Pertanyaan saya lebih filosofis. Secara umum, hal-hal di WP core ada karena suatu alasan. Saya mencoba memahami mengapa term_id tidak bisa menjadi kunci utama untuk istilah tersebut - mengapa kita perlu taksonomi juga? Dapatkah catatan satu periode menjadi anggota dari beberapa taksonomi? Itu tentu saja saat ini tidak didukung di API. Apakah ada kasus penggunaan di mana ini mungkin diinginkan?
Atau apakah $taxonomy
parameter yang diperlukan dalam get_term()
ekor vestigial dari inkarnasi sebelumnya dari struktur database?
wp_term_taxonomy
tabel digunakan sebagai indeks untuk tabel itu, yang membuat kueri lebih cepat (bahkan jika itu hanya istilah).EXPLAIN
kata A. sayaterm_id
.Jawaban:
Saya telah mencatat tiket dengan trac: http://core.trac.wordpress.org/ticket/20536
Namun, ternyata untuk saat ini IS diperlukan, karena WordPress saat ini (sejak 2.x) memiliki bug yang TIDAK mengaitkan dua istilah dengan nama yang sama ke term_id yang sama! Jadi itu mungkin (meskipun salah) untuk satu istilah untuk dikaitkan dengan lebih dari satu taksonomi. Lihat bug ini: http://core.trac.wordpress.org/ticket/5809
Ini cukup luas sehingga menerapkan perbaikan perlu diuji unit secara menyeluruh. Saya akan mencoba untuk mengingat untuk memperbarui pertanyaan ini jika ada perkembangan.
sumber
Tidak. Persyaratan memiliki siput untuk mendukung arsip istilah. Dan memiliki siput dua kali menampilkan banyak minetraps atau "wontfix" dalam beberapa skenario permalink.
Ya: Bayangkan bahwa Anda memiliki istilah untuk mis
size
dan memiliki tiga taksonomi yang dinamailength
,width
danheight
(Anda juga bisa memikirkan warna). Tapi itu tidak didukung karena alasan yang tertulis di atas.Dari melihat tabel dan menjalankan
EXPLAIN
,term_id
adalah kunci utama. Saya kira pada sistem yang lebih besar mungkin lebih cepat untuk hanya meminta istilah taksonomi tertentu menggunakan gabungan (lambat) dari pada meminta semua, mengurutkannya dan memfilter apa yang Anda butuhkan.sumber