自定义查询wordpress搜索没有草稿

时间:2014-09-03 17:17:48

标签: sql wordpress

我为在Wordpress中搜索帖子创建了一个自定义查询。它看起来像这样:

SELECT * FROM wp_posts WHERE post_content LIKE '%$keywords%' OR post_title LIKE '%$keywords%' AND post_status = 'publish' AND (post_type = 'post' OR post_type = 'column')"

$keywords是通过类似此$keywords = str_replace(" ", "+", $_GET['s']);

的表单的GET设置的

它还显示了帖子的所有草稿。我必须在此查询中更改哪些内容才能阻止其显示草稿?

我知道Wordpress中有一个标准搜索,但我不能使用这个,因为我在MSSQL上运行Wordpress。

提前致谢!

1 个答案:

答案 0 :(得分:1)

编辑:我测试了一下MSSQL,似乎缺少括号是问题所在。我认为这个查询应该有用。

SELECT * FROM wp_posts WHERE (post_content LIKE '%$keywords%' OR post_title LIKE '%$keywords%') AND post_status = 'publish' AND (post_type = 'post' OR post_type = 'column')"

$ keyword是从POST获得的变量

$args = array('s' => $keyword, 'post_type' => array('post', 'column') );

$query = new WP_Query( $args );

您也可以传递其他参数,您可以查看here

另外,请避免使用query_posts,您可以在第一段here

中阅读原因