Vì đây là một phần của sự hiểu biết lớn hơn về thiết kế, tôi sẽ mô tả toàn bộ ... :)
Trong WP 4.5.3 vẫn còn tất cả các bảng này (tôi sẽ nói về chúng mà không có tiền tố):
- bài viết
- term_relationships
- thuật ngữ kinh tế
- điều kiện
Đường dẫn để có được các tên có thể đọc được của thuật ngữ bài đăng đi qua tất cả chúng.
đăng
định danh chính ở đây là ID
- id của bài đăng (thuộc bất kỳ loại nào)
term_relationships
lưu trữ các cặp:
object_id
- có thể posts.ID
(nhưng không phải )
term_taxonomy_id
- đây không phải là id của một thuật ngữ (danh mục) mà là id của QUAN HỆ giữa một thuật ngữ (danh mục) và phân loại ("loại danh mục")
term_taxonomy
công cụ nhận dạng chính ở đây được term_taxonomy_id
mô tả ở trên ^^
một cột quan trọng khác:
term_id
- id của một thuật ngữ (danh mục)
taxonomy
- lưu trữ thuật ngữ phân loại ("loại danh mục")
Điều này có vẻ buồn cười, nhưng dự định ban đầu là thêm khả năng cho các thuật ngữ để có nhiều phân loại hơn (trong một số trường hợp có thể có ý nghĩa).
thuật ngữ
định danh chính ở đây là term_id
- id của một danh mục
các cột quan trọng khác ở đây là:
name
- tên danh mục có thể đọc được, ví dụ: "Thể loại âm nhạc"
slug
- sên của một thuật ngữ có thể sử dụng, ví dụ như trong URL
Vì vậy, SQL trình diễn tàn bạo để
có được tất cả các bài đăng được xuất bản và tất cả các danh mục có tên của danh mục
có thể trông như thế này (thêm tiền tố vào các bảng khi thử nghiệm trên WP DB của riêng bạn):
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