Wordpress 对过度使用get_选项感到难过

Wordpress 对过度使用get_选项感到难过,wordpress,Wordpress,我一直在使用SettingsAPI,这让我很头疼。现在我觉得我已经对如何使用它有了一个很好的理解,我想优化一下我的操作方式 我主要关心的是在每个回调上使用get\u选项,以创建每个设置输入。我计划缓存它们,这样我就不需要调用get\u选项10次以上 我的问题是,在我进行缓存之前,wordpress是否有自己的每页加载缓存以用于get_选项 谢谢, Max您可以在一个选项中存储多个值。只需输入update\u选项或add\u选项数组即可 在缓存说明中,查看以下链接: 不,WordPress没有那

我一直在使用SettingsAPI,这让我很头疼。现在我觉得我已经对如何使用它有了一个很好的理解,我想优化一下我的操作方式

我主要关心的是在每个回调上使用
get\u选项
,以创建每个设置输入。我计划缓存它们,这样我就不需要调用
get\u选项
10次以上

我的问题是,在我进行缓存之前,wordpress是否有自己的每页加载缓存以用于get_选项

谢谢,
Max

您可以在一个选项中存储多个值。只需输入
update\u选项
add\u选项
数组即可

在缓存说明中,查看以下链接:

不,WordPress没有那种缓存。它甚至过于频繁地调用get_option()

编辑#1:
wp\u load\u alloption()
会将每个选项从数据库加载到缓存,因此
get\u option()
只会在数据库的缓存中找不到选项时从数据库加载

请参见以下(原始答案)以减少get_选项()的使用:

我建议将它们全部包装到一个对象中,以减少get_选项的使用。我总是在我的主题上做这些第一件事:

global $mytheme;

$mytheme = new stdClass;
$mytheme->something = get_option( 'something' );
我对在我的主题上重复使用的每个设置都执行此操作,因此get_选项将只加载一次

接下来,我希望选项为call,我只使用:

function something() {
    global $mytheme;

    $something = $mytheme->something; 

    return $something;
}

我没有提到它,但我一直在这样做(将每个选项存储在一个数组中)。问题是,在我的插件中,我在很多地方都需要这个数组。我计划在每次页面加载时保存一个变量(而不是调用get_选项),但如果Wordpress已经这样做了,我不想这样做(浪费内存)。@mazzzzz还看了一下自动加载:太好了,谢谢你提供的信息;我可能只是自己实现它,真不敢相信Wordpress不会保存这么简单的东西来保存每个页面的负载。我请求同一个对象(在同一个类中)10次以上。这肯定会对查询有所帮助!Wordpress实际上通过自动加载加载了每个页面上的大多数选项:是的,实际上,在检查了get_option()函数之后,我发现自2.8以来,WP已经缓存了get_选项的结果。所以在第二次调用时,它将从缓存中加载。