如何使用GET_OPTION()使用/检索缺省值的选项数组

时间:2014-04-20 作者:Unix

有人向我解释说get_option 如果没有效率,最好实现一个自定义函数,然后将选项保存在单个多维数组中。

之前我认为有一个这样的数组get_option(\'the_option_id\', \'default_value\') 每次都是一个好方法:

$options = array(    
//GENERAL SETTINGS
array("name" => "General Settings",
    "type" => "title"),
array("type" => "open"),
array("name" => "Option 1",
   "desc" => "Description.",
   "id" => "option_id_1",
   "type" => "text"),
array("name" => "Option 2",
   "desc" => "Description.",
   "id" => "option_id_2",
   "type" => "text"),
array("type" => "close"),
)
他说最好调用函数get_option() 只需一次,即可在自定义函数中获取所有内容。这是为什么,在codex上,他们建议使用简单的get_option($variable, $default)?

这是一个理论上的问题,但请随时发布或共享您的代码。你是怎么做的?(大多数选项框架也使用自定义函数)。

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

选项性能有几个主要考虑因素。

有多少个选项每个具有唯一键的选项都是选项数据库中的一行。行数越多,表格就越乱,但主要是供人类使用。您需要有大量的选项才能开始在性能上产生重大影响。

是否自动加载选项默认为自动加载。在每个页面上,加载WordPress查询批量自动加载的所有选项,并将它们放入缓存。如果有很多选项是自动加载的,而不是自动加载的,那么访问它们将需要尽可能多的数据库查询。如果自动加载选项中的数据相当大,则会减慢自动加载速度并消耗同样多的内存。

在任何情况下,您都只是在使用get_option(). 不同之处在于如何组织数据以及如何访问数据。将数据数组存储为单个选项通常被认为更整洁。除此之外的任何抽象通常都只是简化了从底层大型阵列获取特定数据片段的过程。

结束

相关推荐