自动更新WordPress非插件生成的静态缓存文件
接上篇《wordpress非插件生成html缓存》的wordpress教程,上篇教程发布后有不少小伙伴使用了该教程的代码来对自己的wordpress站点进行缓存加速,更有不少小伙伴联系wp自学笔记说,是该方法缓存后网站速度有了非常明显的提升。
但是该方法有个弊端,就是缓存不会自动更新,这次wp自学笔记就来对该加速方法进一步的补充下,添加自动更新缓存功能,实现发布新文章或者是更新文章之后立即自动刷新缓存。
实现方法如下:
一、复制一下这段代码保存为del.php文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<?php define('DEL_DIR',dirname(__FILE__).'/cache'); function tiezhu_deleteAll($path) { $op = dir($path); while(false != ($item = $op->read())) { if($item == '.' || $item == '..') { continue; } if(is_dir($op->path.'/'.$item)) { deleteAll($op->path.'/'.$item); rmdir($op->path.'/'.$item); } else { unlink($op->path.'/'.$item); } } } if( $_GET['up'] == 1 ) tiezhu_deleteAll(DEL_DIR); |
二、将保存好的文件放入wordpress的同级目录下,然后将以下代码加入到当前使用的wordpress主题的functions.php文件中。
1 2 3 4 5 6 7 8 9 |
function tiezhu_PushCache(){ $PushUrl = home_url('/').'del.php?up=1'; $request = new WP_Http(); return $request->request($PushUrl); } add_action('publish_post', 'tiezhu_PushCache'); add_action('delete_post', 'tiezhu_PushCache'); add_action('post_updated', 'tiezhu_PushCache'); add_action('publish_page', 'tiezhu_PushCache'); |
添加完两篇教程中的所有代码后即可让wordpress实现非插件自动生成html缓存,并且自动更新缓存了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END