0

寻找有关如何重构简码的提示,该简码输出具有元字段值的自定义帖子类型表,该表在页面上达到 250 - 300 个结果的内存限制。

使用 Gravity Forms 测验插件和 WCK 自定义字段/帖子类型创建器的设置详细信息我已经设置了一个培训系统,该系统具有以下自定义帖子类型,用于不同的数据收集(大写)和一般流程。学生被安排在可以有多个课程的课程中,这些课程是测验的集合。每次学生参加测验时,他们都会生成一个结果,该结果具有单独的元数据字段,用于标识课程、班级、测验和学生的 ID。

当前版本使用datatables jQuery将所有结果显示给班主任,并处理分页、搜索、排序、下载到 .xls 和其他表格功能。但是我遇到了一些内存/性能问题,通过 WP_Query 循环的结果数量超过 250。

分析页面使用简码 -代码片段 pastebin来输出表格数据,本质上是:

  • WP_Query 循环遍历每个 COURSE、CLASS 和 QUIZ 自定义帖子类型,将 ID / Title 存储在它自己的数组中,其中 ID 作为键。
  • foreach 循环遍历所有用户并存储为名称、电子邮件的数组
  • WP_Query 循环遍历所有 RESULTS 并根据元数据进行匹配以显示正确的数据。

寻找关于我如何重新考虑这个因素的提示,或者最好首先关注哪个,唯一真正的警告是保持 GF Quiz 作为数据入口点。我一直在考虑的一些事情:

  1. 优化 WP_Query 参数
  2. CPT 和元字段是存储它的正确位置吗?
  3. WCK 生成 CPT 的方式是否会增加大量开销?
  4. 使用 WP Ajax 分页获取结果并使用单独的构建过程下载 .csv。但是如何在不遇到相同性能问题的情况下构建下载呢?
  5. WP 导入/导出代码是否提供了一些我真的应该看的例子?
  6. 人们有 1,000 条结果要显示到页面/下载的其他示例?
  7. 我怀疑“投入更多硬件”是可行的解决方案,因为环境通常对负载非常敏感。但如果是这样,给定场景应该关注哪些领域(多核、处理器速度、内存等)

非常感谢!

4

1 回答 1

0

如果数据没有不断更新,也许可以尝试静态 html 文件,这里有一个适合你的插件。但正如 CodeMoose 所建议的那样,分页也是你的朋友。

于 2013-09-19T23:51:45.567 回答