如何在自定义类别搜索中包含常用类别

时间:2013-07-25 作者:Web Warrior

我想知道如何解决这个问题。

这是我的问题:

$query = new WP_Query( array( 
   \'posts_per_page\' => 6,
    \'orderby\' => \'date\', 
    \'order\' => \'DESC\', 
    \'category__not_in\' => array( 7, 22 ) ) );
这是一个简单的查询,它所做的是查询所有最近的帖子,并排除类别ID为7和22的帖子。

我有一些帖子有两类链接,比如“7和10”以及“22和13”。上面的查询也排除了这些帖子(应该是这样),但我还希望查询包括具有两个或多个类别的帖子,其中一个类别可能是7或22。我想知道这可能吗?

我希望我已经解释过了。我很感谢你在这方面的帮助。

1 个回复
SO网友:Rarst

我不认为您可以在查询参数中表达这样的逻辑,自定义SQL可能会让人噩梦般。

我会尝试颠覆逻辑。声明category__in 成为所有类别的列表,但你不想要的类别。

您可以通过代码构建这样的列表,如:

\'category__in\' => get_categories( array( \'fields\' => \'ids\', \'exclude\' => \'7,22\' ) ),
PS我不确定这种查询的性能方面,我想这取决于涉及的类别的数量。在生产中使用前进行测试。

结束

相关推荐

使用WP_QUERY或QUERY_POSTS()或GET_POSTS()来优化站点?

我已经阅读了其他答案,但我不知道哪一个更快(对于运行缓慢的服务器来说是最好和最简单的)?我有一个每天点击量超过100万次的网站,服务器速度慢,数据库连接有限,所以我想优化我的网站。您建议我使用什么:WP\\u Query或Query\\u posts()或get\\u posts()?如果我想在不同的位置以不同的样式显示文章,我可以在我显示的每一篇文章上重复函数[WP\\u Query or Query\\u posts()或get\\u posts()],还是最好使用一次,如果$I==1,2,3用于不同