Truy vấn bài viết wordpress theo thẻ của họ có thể trông như thế này (nếu tôi chắp lại với nhau một cách chính xác - Tôi đã gỡ bỏ phần không liên quan từ các truy vấn):Lọc bài viết nào trong một truy vấn nếu họ chỉ có một thẻ nào đó
SELECT wposts.ID AS ID,
wposts.post_title, wposts.post_status, wposts.post_name,
tag_terms.term_id AS tag_id
FROM `wp_posts` AS wposts
INNER JOIN wp_term_relationships AS tag_term_relationships ON (wposts.ID = tag_term_relationships.object_id)
INNER JOIN wp_term_taxonomy AS tag_term_taxonomy ON (tag_term_relationships.term_taxonomy_id = tag_term_taxonomy.term_taxonomy_id AND tag_term_taxonomy.taxonomy = 'post_tag')
INNER JOIN wp_terms AS tag_terms ON (tag_term_taxonomy.term_id = tag_terms.term_id)
WHERE wposts.ID = '12345'
AND wposts.post_type = 'post'
AND wposts.post_status NOT LIKE 'private'
AND tag_terms.term_id = '55'
GROUP BY wposts.ID
ORDER BY wposts.post_date ASC
Điều này sẽ truy vấn tất cả các bài đăng có id thẻ 55.
Điều tôi cần làm là lọc ra tất cả các bài đăng chỉ chứa thẻ duy nhất này, nhưng không có thẻ nào khác.
Vì vậy, tôi muốn hiển thị bài đăng nếu có thẻ 23,34,55,67 Nhưng tôi không muốn hiển thị bài đăng nếu thẻ có thẻ 55 (và không có thẻ nào khác). Bài đăng không chứa thẻ nhất định này cũng phải được bao gồm trong truy vấn.
Làm cách nào để thực hiện việc này?
bạn làm sai. bạn nên luôn luôn chọn bài viết với lớp WP_query: http://codex.wordpress.org/Class_Reference/WP_Query – janw
Tôi đồng ý với @janw, trừ khi bạn đang phát triển plugin của riêng bạn, bạn không cần phải viết một câu lệnh SELECT, . – twilson
Vô nghĩa. Tôi cần truy vấn một số giá trị meta, hình thu nhỏ, tên người dùng và thẻ, tất cả trong cùng một truy vấn. WP_Query là dành cho núm vú giả và không cho phép sự linh hoạt mà tôi cần. – reggie