WordPress搜索查询不起作用

时间:2018-08-09 17:40:15

标签: php mysql wordpress

我试图弄清楚为什么此查询返回所有帖子类型,而不仅仅是返回指定的类型。任何帮助都会有所帮助。

SELECT DISTINCT wp_posts.* 
FROM wp_posts, wp_term_relationships, wp_terms, wp_term_taxonomy 
WHERE 1=1 
AND wp_posts.ID = wp_term_relationships.object_id 
AND wp_terms.term_id = wp_term_taxonomy.term_id 
AND wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id 
AND wp_posts.post_type IN ('insight') 
AND wp_posts.post_status = 'publish' 
AND wp_posts.post_status != 'private' 
AND wp_posts.post_status != 'future' 
AND wp_posts.post_status != 'trash' 
AND wp_terms.slug LIKE '%great%' 
OR wp_posts.post_content LIKE '%great%' 
LIMIT 0, 10

1 个答案:

答案 0 :(得分:1)

您的问题可能出在您的OR中,您应该在括号OR中使用()。在执行操作时,查询将忽略之前的所有子句。试试这个:

AND ( wp_terms.slug LIKE '%great%' OR wp_posts.post_content LIKE '%great%' )