Answers:
是的,有点。进行get_option
调用时,WordPress将运行一个名为的函数wp_load_alloptions
,该函数将获取所有自动加载选项的缓存副本,或将所有这些选项加载到缓存中。然后wp_load_alloptions
返回所有自动加载选项的数组。如果您的选项是自动加载的(使用该add_option
函数时指定),它将成为此数组的一部分并返回。
如果您的选项未自动加载,则WordPress然后会在该选项专用的缓存中查找并返回值(如果存在)。如果未命中,则最后的后备方法是进入数据库,获取值,将其设置为高速缓存,然后将其返回。
最后,如果根本没有找到任何选项(例如,选项名称无效),则WordPress将该选项的名称存储在名为的缓存数组中notoptions
。如果随后对非选项进行了调用,则WP首先检查notoptions数组,这样就不会浪费时间检查不存在的内容。
如果您担心get_option
每次页面加载需要多次调用,请不必担心。WordPress将在首次get_option
调用后缓存选项值,无论其是否自动加载。
查看源代码get_option
以了解发生了什么。
没有,
仅将自动加载专门设置为true的选项
参见http://codex.wordpress.org/Function_Reference/add_option
因此,如果每个页面都需要该选项,则在将其添加到数据库时,设置autoload = true。
之后,只需正常使用get_option-wp将处理缓存等。
是,
无需将自动加载设置为yes / true。默认情况下将其设置为yes:http : //codex.wordpress.org/Function_Reference/add_option-最后一个函数参数($ autoload):
此选项是否应该由wp_load_alloptions()函数自动加载(在每次加载页面时将选项放入对象缓存中)?有效值:是或否。默认值:是
但是,如果将其设置为no,则该选项将不会放入缓存中。