我一直在使用设置 API 来处理它。现在我觉得我对如何使用它有了一个不错的了解,我想优化一下我的操作方式。
我主要关心的是使用get_option
每个回调来创建每个设置输入。我正计划缓存它们,所以我不需要调用get_option
10 次以上。
我的问题是,在我进行缓存之前,wordpress 是否有自己的 get_option 每页加载缓存?
谢谢,马克斯
我一直在使用设置 API 来处理它。现在我觉得我对如何使用它有了一个不错的了解,我想优化一下我的操作方式。
我主要关心的是使用get_option
每个回调来创建每个设置输入。我正计划缓存它们,所以我不需要调用get_option
10 次以上。
我的问题是,在我进行缓存之前,wordpress 是否有自己的 get_option 每页加载缓存?
谢谢,马克斯
不,WordPress 没有那种缓存。它甚至过于频繁地调用 get_option()。
编辑#1:wp_load_alloption()
将从数据库加载每个选项到缓存,因此get_option()
如果在缓存中找不到任何选项,则只会从数据库加载。
见下文(原始答案)为了减少 get_option() 的使用:
我更倾向于将它们全部包装到一个对象中以减少 get_option 的使用。我总是在我的主题上做这些第一件事:
global $mytheme;
$mytheme = new stdClass;
$mytheme->something = get_option( 'something' );
我为在我的主题上重复使用的每个设置执行此操作,因此 get_option 只会加载一次。
接下来我想要调用选项,我只使用:
function something() {
global $mytheme;
$something = $mytheme->something;
return $something;
}
您可以在 1 个选项中存储多个值。只需喂食update_option
或add_option
数组。
在缓存说明中查看这些链接: http:
//www.catswhocode.com/blog/wordpress-transients-api-practical-examples
http://codex.wordpress.org/Transients_API