我正在用几种不同的帖子类型(博客帖子、产品、信息文章等)构建一个网站。在归档类型页面(搜索结果、标签页等)上,我想在视觉上不同的部分显示来自不同帖子类型的内容。然后,用户可以选择我们想要的特定页面,或者单击一个链接来查看来自特定post类型的所有结果。
我该如何构造我的循环呢?我应该使用多个WP_Query对象(每个post类型一个),还是使用一个查询获取所有内容,然后用PHP将其分离出来?我可以想出几种方法来完成这个工作,但我不确定我的代码的性能和将来的验证的最佳实践是什么。谢谢。
更新:
最后,我使用了Alex的建议,并运行了多个查询。通过使用wp-骇客列表中描述的技术,我绕过了对这些归档页面的主要查询(不需要它),然后循环遍历所有相关的post类型,并为它们运行一个新的WP_Query。它完成了任务,但对我来说,它感觉非常的混乱和不雅。
更新2:
当我更多地考虑这个问题时,我想知道是否更快地抓取所有的帖子,然后用PHP将它们划分为post类型类别。不过,我不是数据库性能方面的专家,所以我不知道。我只是想象在页面加载之前,必须运行一个稍微复杂的搜索查询5-6次(其中有几次可能没有结果)。对我来说真的很慢。另一方面,只需一次查询就从数据库中提取大量数据集的速度可能会更慢。我想唯一确定的方法是对它进行基准测试,但我只是一个人,我实在没有时间来构建和测试这两个系统。是否有任何MySQL性能专家对此有任何想法?
发布于 2012-05-11 20:24:45
我会做多个查询。我知道,通常情况下,这会减慢速度,但有时,如果你看到的页面上有大量内容,这是意料之中的。
https://wordpress.stackexchange.com/questions/51187
复制相似问题