使用postID过滤query_post

时间:2012-10-10 11:14:21

标签: wordpress wordpress-theming

我正在使用以下句子来查询一些帖子:

query_posts('post_type=page&posts_per_page=2&meta_key=category_news&meta_value=ht_news&lang=en');

问题是我需要能够阻止这样的查询在其结果中获得某个postID,那么我该如何添加这样的代码?

在普通的SQL查询中,它可以是WHERE postID NOT IN (12, 120, 150)

感谢。

2 个答案:

答案 0 :(得分:0)

不,但是WP_Query有你可以使用的post__not_in参数。

来自Codex的WP_Query的参数:

p (int) - use post id.
name (string) - use post slug.
page_id (int) - use page id.
pagename (string) - use page slug.
post_parent (int) - use page id. Return just the child Pages.
post__in (array) - use post ids. Specify posts to retrieve.
post__not_in (array) - use post ids. Specify post NOT to retrieve. 

您可以查看WordPress Answers的这个问题,以获取有关您需要哪种查询类型的详细信息。 Rarst answer可能是我见过的关于在Wordpress中查询帖子的三种方法的最佳解释。

答案 1 :(得分:0)

使用exclude 排除您在查询中指定的PostID。

query_posts('
     post_type=page
     &posts_per_page=2 
     &meta_key=category_news
     &meta_value=ht_news
     &lang=en
     &exclude=1,2,3,4,5'
 );