我用下面的语句来查询一些帖子:过滤与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)
感谢。
我用下面的语句来查询一些帖子:过滤与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)
感谢。
使用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'
);
不,但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中查询帖子的三种方式的最佳解释。