WordPress 的数据库其实也是一个影响 WordPress 运行的主要因素,过于频繁的数据库调用、查询也会拖慢网站整体的载入速度。而静态内容更是不容小视!
由于侧边栏 不需要实时更新 我们完全可以把它缓存掉 用来加快网站打开速度 博主实际使用后 数据库减少了十多次(据主题和优化不同有差异)
该段代码来自 我爱水煮鱼 大大的博客
代码内容
1. 外观 => 主题编辑 => 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权限!
缓存时间为1小时 每1小时更新一次 在注释位置可更改
该缓存并不会根据文章变化 点击变换而 更新缓存 只能到1小时一更新
如果需要更新缓存 可以将代码注释那里的 3600 改成 1 保存后 马上在改回来 即可
如果你的 sidebar 为不同页面不同 sidebar,那么你要根据自己的 sidebar 生成不同 sidebar 缓存,如:sidebar_home, sidebar_single,基本代码类似。