我一直在使用设置API让我的头脑缠绕它。现在我觉得我对如何使用它有一个很好的理解,我想优化我的做法。
我主要担心的是在每个回调中使用get_option
来创建每个设置输入。我打算对它们进行缓存,因此我不需要再拨打get_option
10次。
我的问题是,在我进行缓存之前,wordpress是否为get_option设置了自己的每页加载缓存?
谢谢, 最大
答案 0 :(得分:2)
不,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 :(得分:0)
您可以在1个选项中存储多个值。只需向update_option
或add_option
数组提供。
在缓存说明中,请查看以下链接:
http://www.catswhocode.com/blog/wordpress-transients-api-practical-examples
http://codex.wordpress.org/Transients_API