用于构建导航菜单的wordpress / mysql问题

时间:2010-09-08 16:18:42

标签: mysql wordpress-theming

我正在制作wordpress主题,需要选择多个类别的帖子来构建菜单。我可以设置它来处理标签,或标签和类别的组合,但最后我需要能够通过多个cat / tag进行搜索。我能找到的唯一内置wordpress函数允许对cat / tag进行多个AND搜索,这样就是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魔法,在同一个表的多个查询上运行一个大联盟

提前致谢

1 个答案:

答案 0 :(得分:0)

“如果您想在主要循环之外创建单独的循环,则应使用get_posts()代替。

注意:从版本3.0开始,页面ID数组也可用于包含和排除参数。“

很确定你可以这样做:

$wp_query->post_count

获取查询帖子的总数。

是的,根据WPQuery:

  

get_posts()   获取并返回请求的帖子   来自数据库。也填充   $ posts和$ post_count。

:)