WordPress 技巧:使用文件缓存侧边栏
2023-06-13 09:18:33 时间
今天尝试使用 PHP 的 Output Control Functions
进行缓存,发现代码还是蛮简单的,于是把其中对 Sidebar 缓存的代码分享下,几点说明:
1. 可以自己修改缓存时间,怎么修改,看下面代码的唯一的注释。 2. 一旦采用这样的缓存,在缓存时间内对 sidebar 做任何修改都不会生效。 3. 如果你又想缓存又想修改东西,你可以把缓存时间修改为1秒,作了修改之后,让 sidebar 缓存生成之后,再把缓存时间修改为原来的。 4. 如果你的 sidebar 为不同页面不同 sidebar,那么你要根据自己的 sidebar 生成不同 sidebar 缓存,如:sidebar_home, sidebar_single,基本代码类似。 5. 会对 Recent Post, Recent Comment 这些插件产生延迟,在缓存的时间内,如果这些列表更新了回不能及时体现。 下面是具体的步骤和代码:
1. 进入 WordPress 后台,点击外观 => 主题编辑 => 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;
}
?>
相关文章
- 内存或磁盘空间不足,excel无法再次打开_打开文件显示内存或磁盘空间不足
- 文件管理基础命令
- MySQL:8.0全新的字典缓存(代替5.7 frm文件)
- 清除SQL Server数据库日志(ldf文件)的方法汇总
- JVM 深入学习:Java 解析 Class 文件过程解析详解编程语言
- Oracle数据库文件:突破数据边界(oracledat文件)
- Linux下如何删除文件?(在linux下删除文件)
- Linux文件缓存:优化I/O性能的利器(linux文件缓存)
- Linux查看文件缓存:简单而实用的方法(linux查看文件缓存)
- 文件Linux访问共享文件的简单指南(linux怎么访问共享)
- 和日志文件Oracle数据库仅拥有数据文件和日志文件(oracle只有数据文件)
- 利用Redis提升图片文件缓存性能(redis缓存图片文件)
- Linux命令行实现文件压缩与解压(linux命令行压缩)
- 深度优化从文件缓存转向Redis缓存(文件缓存为redis缓存)
- 通过Redis缓存提高文件读写性能(文件缓存 redis缓存)
- 红色的缓存从静态文件中获取优势(redis缓存静态文件)
- Redis缓存文件快速导入新玩法(redis缓存文件导入)
- 利用Redis简化缓存文件的删除(redis缓存文件删除)
- 另类的文件上传解决方案
- php文件缓存函数
- 动态创建script在IE中缓存js文件时导致编码的解决方法