我有很多帖子的元数,是一次得到更好还是每个单独得到更好

时间:2013-07-02 作者:dkmojo

我有一个目录网站,正在重新设计/重组。我对每个条目都有相当多的元字段,即地址、城市、国家、网站、产品购买地、社交链接、背景等。

我不会在布局中的同一位置显示所有元数据。所以我的问题是:使用它是否更有效get_post_meta($id,$key,false) 并将我的所有元值存储在$variable, 还是最好是每个都单独获取?

我想是前者,但我想得到一些反馈。

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

假设您正在以某种方式使用标准WP\\U查询检索帖子,那么会自动检索所有相关帖子的postETA数据,并将其缓存在内存中。当你稍后打电话时get_post_meta, 数据只是从这里返回的。

所以说实话,你采取哪种方法没有什么显著的区别。这个get_post_meta 函数不会进行数据库调用,除非数据已经不在内存中。

如果您正在进行WP\\U查询,并且不需要缓存postmeta信息,则可以设置update_post_meta_cache 查询中的参数为false。类似地,您可以设置update_post_term_cache 为false,以防止它缓存分类系统中的相关术语。这些可以加快特定情况下的查询速度,在这些情况下,您知道不需要提前使用元/术语。

SO网友:s_ha_dum

如果你看看function that actually retrieves the metadata, 您会注意到,有一个内置的缓存机制,对象的所有元都被检索和缓存,或者函数读取给我。

因此,这两种方法之间的性能差异应该是微不足道的。做最适合您的代码的事情。我倾向于将所有内容都放入变量中,但这只是因为我经常使用循环来生成输出。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在