Karena ini adalah bagian dari pemahaman yang lebih besar tentang desain, saya akan menggambarkannya secara keseluruhan ... :)
Di WP 4.5.3 masih ada semua tabel ini (saya akan membicarakannya tanpa awalan):
- posting
- term_relationships
- term_taxonomy
- ketentuan
Jalur untuk mendapatkan nama yang dapat dibaca istilah pos melewati semua itu.
memposting
pengidentifikasi utama di sini adalah ID
- id dari suatu posting (dari jenis apa pun)
term_relationships
toko pasang:
object_id
- bisa menjadi posts.ID
(tetapi tidak tidak harus)
term_taxonomy_id
- ini adalah TIDAK id dari istilah (kategori) tapi id dari HUBUNGAN antara istilah (kategori) dan taksonomi ( "kategori tipe")
term_taxonomy
pengidentifikasi utama di sini digambarkan di term_taxonomy_id
atas ^^
kolom penting lainnya:
term_id
- id istilah (kategori)
taxonomy
- menyimpan taksonomi istilah ("tipe kategori")
Yang ini mungkin tampak lucu, tetapi niat awalnya adalah untuk menambahkan kemampuan istilah untuk memiliki lebih banyak taksonomi (yang dalam beberapa kasus masuk akal).
istilah
pengidentifikasi utama di sini adalah term_id
- id suatu kategori
kolom penting lainnya di sini adalah:
name
- nama kategori yang dapat dibaca misalnya "Genre Musik"
slug
- slug dari istilah yang dapat digunakan misalnya dalam URL
Jadi SQL brutal yang mendemonstrasikan untuk
mendapatkan semua posting yang dipublikasikan dan semua kategorinya dengan nama kategorinya
dapat terlihat seperti ini (tambahkan awalan ke tabel saat menguji WP DB Anda sendiri):
SELECT * FROM
posts #gets posts
LEFT JOIN
term_relationships #gets posts relationships to term_taxonomies
ON(posts.ID=term_relationships.object_id)
LEFT JOIN
term_taxonomy #gets term_ids
ON(term_relationships.term_taxonomy_id=term_taxonomy.term_taxonomy_id)
LEFT JOIN
terms #finally, gets terms' names
ON(term_taxonomy.term_id=terms.term_id)
WHERE (
(posts.post_status='publish')
#optionally you can filter by a certain post_type:
#AND
#(posts.post_type='some_post_type')
)
ORDER BY posts.ID ASC