【问题标题】:ACF best practice - multiple get_field vs one get_fieldsACF 最佳实践 - 多个 get_field 与一个 get_fields
【发布时间】:2016-06-25 06:06:03
【问题描述】:

如果一个帖子有几十个自定义字段而我只需要两个或三个,在性能和优化方面,最好做一个请求来获取每个字段

get_fields()

或多个请求获取单个字段

get_field($field_name)

如果它取决于(取决于帖子的字段总数、所需字段的数量等),在什么时候一种解决方案会比另一种更好?

【问题讨论】:

  • 如果您还不知道所有字段名称(使用某种动态字段生成),或者如果所有字段都是相同的字段,看起来 get_fields() 函数最有用类型。例如,如果你有一个转发器、3 个选择字段、一个单选按钮组、3 个页面链接字段和一个关系字段,我认为 get_fields() 很快就会变得非常麻烦。

标签: php wordpress optimization advanced-custom-fields


【解决方案1】:

每次使用 get_field() 时,都会为数据库创建一个新查询。因此,一般来说,最好先使用 get_fields() 来缓存所有结果,然后在需要的地方使用 get_field()

例如:

get_fields();

$field1 = get_field('field1');
$field2 = get_field('field2');

不过,如果您有很多字段,其中包含大量数据,并且您只需要其中两个,那么最好只使用两次 get_field(),而不是增加负载数据库服务器并用无用的数据填充缓存。

【讨论】:

    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 2012-03-23
    • 2015-09-01
    • 2011-01-23
    • 2012-01-12
    • 2013-07-17
    相关资源
    最近更新 更多