北极寒流 » 网络资源 » 缓存WordPress的Sidebar(侧边栏)的技巧 - 2012.11.21

缓存WordPress的Sidebar(侧边栏)的技巧

缓存WordPress的Sidebar(侧边栏)的技巧。缓存WordPress的相关栏目无疑会减轻服务器的压力,所以这里就给大家分享一种缓存WordPress的Sidebar(侧边栏)的技巧。

对 Sidebar 缓存的代码分享下,几点说明:

1. 可以自己修改缓存时间,怎么修改,看下面代码的唯一的注释。
2. 一旦采用这样的缓存,在缓存时间内对 sidebar 做任何修改都不会生效。
3. 如果你又想缓存又想修改东西,你可以把缓存时间修改为1秒,作了修改之后,让 sidebar 缓存生成之后,再把缓存时间修改为原来的。
4. 如果你的 sidebar 为不同页面不同 sidebar,那么你要根据自己的 sidebar 生成不同 sidebar 缓存,如:sidebar_home, sidebar_single,基本代码类似。
5. 会对 Recent Post, Recent Comment 这些插件产生延迟,在缓存的时间内,如果这些列表更新了回不能及时体现。

下面是具体的步骤和代码:

1. 进入 WordPress 后台,点击 Design => Theme Editor => Sidebar (sidebar.php)。

2. 在 sidebar.php 开头加入以下代码:

<?php 
$sidebar_html = ABSPATH . "wp-content/cache/sidebar.txt";
$have_cached = false;
if (file_exists($sidebar_html)){
$file_time = filemtime($sidebar_html);
if (($file_time + 3600) > time()){ //缓存1小时
echo "<!-- cached sidebar -->";
echo(file_get_contents($sidebar_html));
echo "<!-- end of cached sidebar -->";
$have_cached = true;
}
}
if(!$have_cached){
ob_start();
?>

3. 在 sidebar.php 结尾加入以下代码:

<?php
$sidebar_content = ob_get_contents();
ob_end_clean();
$sidebar_fp = fopen($sidebar_html, "w");

if ($sidebar_fp){
fwrite($sidebar_fp, $sidebar_content);
fclose($sidebar_fp);
}

echo $sidebar_content;
}
?>

到此代码就部署完毕,但要注意的是需要手动在wp-content下建cache文件夹并给予777权限,还有第2点代码中的缓存时间可以根据自己的情况而设置。效率和灵活永远是矛盾,只能求一个折衷咯。

资料来源:http://www.6ird.com/archives/82.html

最受欢迎的

  • N/A

评论关闭