我正在使用以下句子来查询一些帖子:
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)
谢谢。
我正在使用以下句子来查询一些帖子:
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)
谢谢。
不,但是 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 中查询帖子的三种方法的最佳解释。
用于排除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'
);