如何才能以最有效的方式获取_post_meta()?

时间:2011-08-18 作者:gillespieza

我有一个房地产网站的自定义帖子类型,主题在主页的网格中显示9个属性。我认为它的编写效率不是很高——我在头版上收到了大约160个查询,其中只有大约20个来自插件,因此主题需要一些改进。

首先,它在post循环中包含一个文件——我不是PHP专家,但在post循环中重复包含同一个文件真的是最好的做法吗?

包含的文件只需调用get\\u post\\u meta(),就可以获得十几个自定义post属性列表的变量(例如卧室数量等)。我的第一个建议是将这段代码移到主文件中,这样它就不会被反复“包含”。

但更重要的是,有没有更好的方法来获取post meta,而不是对十几个变量调用十几次get\\u post\\u meta()——也许是通过一个查询一次获取所有meta,我可以将其分配给一个数组?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您可以使用get_post_custom() 它将在对数据库的一次调用中返回一个包含所有post meta的数组,这将节省一些调用。

至于一遍又一遍地包含文件,你可以使用get_template_part() 只包含一个文件,该文件将保存整个循环(在默认的“210”或“11”主题中可以找到一个很好的示例)。

结束

相关推荐