根据自己的标签查询WordPress的职位可以是这样的(如果我一起正确拼凑 - 我删除从查询不相关部分):筛选岗位,如果他们只有一个特定的标签
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
这应该查询标签ID为55的所有帖子。
我需要做的是过滤掉所有只包含这个标签但没有其他标签的帖子。
所以我想显示一个帖子,如果它有标签23,34,55,67 但我不想显示帖子,如果它有标签55(并没有其他标签)。 不包含此特定标记的帖子也应包含在查询中。
我该怎么做?
你做错了。你应该总是选择WP_query类的帖子:http://codex.wordpress.org/Class_Reference/WP_Query – janw 2012-02-12 09:58:26
我同意@janw,除非你正在开发你自己的插件,你不需要写一个SELECT语句。 – twilson 2012-02-12 10:03:23
废话。我需要在同一个查询中查询几个元值,缩略图,用户名和标签。 WP_Query适用于傻瓜,并且不允许我需要的灵活性。 – reggie 2012-02-12 11:00:07