对过度使用get_option感到不好

时间:2012-06-15 19:35:44

标签: wordpress

我一直在使用设置API让我的头脑缠绕它。现在我觉得我对如何使用它有一个很好的理解,我想优化我的做法。

我主要担心的是在每个回调中使用get_option来创建每个设置输入。我打算对它们进行缓存,因此我不需要再拨打get_option 10次。

我的问题是,在我进行缓存之前,wordpress是否为get_option设置了自己的每页加载缓存?

谢谢, 最大

2 个答案:

答案 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_optionadd_option数组提供。

在缓存说明中,请查看以下链接:
http://www.catswhocode.com/blog/wordpress-transients-api-practical-examples
http://codex.wordpress.org/Transients_API