【发布时间】:2013-02-28 20:47:34
【问题描述】:
在没有所有可能的参数和东西的情况下,我正在尝试构建一个比 WordPress 的 wp_list_pages 更高效(更少的数据库调用等)的函数。 wp_posts 表如下所示:
ID post_title post_parent
1 Skate brand no1 5
2 Skate brand no2 5
3 Products 0
4 Bikes 3
5 Skateboards 3
6 About 0
7 Contact 6
8 Surfboards 3
我想要一个如下所示的数组:
array
1 => Products
array
1 => Bikes
2 => Skateboards
array
1 => Skate brand no1
2 => Skate brand no2
3 => Surfboards
2 => About
array
1 => Contact
我应该如何完成这项任务?
更新!
通过用@Gedrox 提供的代码替换我网站首页上大约 4 或 5 个 wp_list_pages,每日平均响应时间从不稳定的 780-1000 毫秒下降到稳定的 595-625 毫秒。太棒了!
【问题讨论】:
-
使用递归根据父id创建层次结构..见树遍历en.m.wikipedia.org/wiki/Tree_traversal#section_2
-
没错,这就是我想要的。你有任何示例代码吗?一直在尝试将子数组 array_push 给他们的父母,但我做错了。
标签: wordpress multidimensional-array query-optimization response-time