我正在工作的wordpress主题,需要选择在多个类别的帖子,以建立一个菜单。我可以将其设置为在标签之外工作,或者标签和类别的组合,但最终我需要能够按多个cat/标签进行搜索。我所能找到的唯一一个内置的wordpress函数,允许在猫/标签上进行倍数和搜索,那就是query_posts函数:
query_posts(array('category__and' => array(list_of_cats)))这有两个问题。第一个是wp文档说不要使用它。第二个是真正的问题,因为在运行循环之前,我需要知道有多少帖子被查询,因为我不想构建空的子菜单或其中只有一两个条目。
另一种方法是运行我自己的查询,但我找不到正确的语句来查找所选类别中的帖子。我可以想象搜索两个类别需要做些什么,但在3+上变得模糊了。
我可以执行多个独立的查询,然后使用array_intersect查找与所有查询匹配的查询,但我想在这里扩展我的mysql和/或wp知识。
总而言之,我希望能回答以下任何一个问题:
1- query_posts()的替代方法,允许多个AND匹配
2-一种在使用query_posts()时查找要循环的帖子数量的方法
3-一些mysql魔术,可以对同一个表的多个查询运行大型联合
提前感谢
发布于 2010-09-16 00:15:47
“如果你想在主循环之外创建单独的循环,你应该改用get_posts()。
注意:从3.0版开始,页面ID数组也可用于包含和排除参数。“
我很确定你可以这样做:
$wp_query->post_count获取被查询帖子的总数。
是的,根据WPQuery的说法:
get_posts()从数据库获取并返回请求的帖子。还要填充$posts和$post_count。
:)
https://stackoverflow.com/questions/3669793
复制相似问题