0°

WordPress缓存侧边栏减少数据库查询

WordPress缓存侧边栏减少数据库查询

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,基本代码类似。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论