2012-10-10 69 views
0

我用下面的语句来查询一些帖子:过滤与query_post通过帖子ID

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

的问题是,我需要能够防止其结果,例如查询得到一定的帖子ID,所以如何我可以添加这样的代码吗?

在正常的SQL查询也可能是WHERE postID NOT IN (12, 120, 150)

感谢。

回答

0

使用exclude排除您在查询中指定的帖子ID。

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' 
); 
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中查询帖子的三种方式的最佳解释。