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

问题描述 投票:0回答:1

我正在开发一个 WordPress 主题,需要选择多个类别中的帖子来构建菜单。我可以将其设置为使用标签或标签和类别的组合来工作,但最终我需要能够通过多个猫/标签进行搜索。我能找到的唯一允许在 cat/tag 上进行多重 AND 搜索的内置 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 魔法可以对同一个表的多个查询运行一个大联合

提前致谢

php mysql wordpress-theming
1个回答
0
投票

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

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

很确定你可以做类似的事情:

$wp_query->post_count

获取查询帖子的总数。

是的,根据 WPQuery:

获取帖子() 获取并返回请求的帖子 从数据库中。还填充 $posts 和 $post_count。

:)

© www.soinside.com 2019 - 2024. All rights reserved.