之前小編曾經寫過一篇 《WordPress 非插件生成 html 緩存》 的 WordPress 教程,在教程發佈後有不少小夥伴使用了該教程的代碼來對自己的 WordPress 站點進行緩存加速,在此教程發佈不久之後便有不少小夥伴聯繫小編説是該方法緩存後網站速度有了非常明顯的提升,但是該方法有個弊端,就是緩存不會自動更新,這次小編就來對該加速方法進一步的補充下,添加自動更新緩存功能,實現發佈新文章或者是更新文章之後立即自動刷新緩存。
實現方法如下:
一、複製一下這段代碼保存為 del.php 文件。
<?php
define('DEL_DIR',dirname(__FILE__).'/cache');
function 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 )
deleteAll(DEL_DIR);
二、將保存好的文件放入 WordPress 的同級目錄下,然後將以下代碼加入到當前使用的 WordPress 主題的 functions.php 文件中。
function PushCache(){
$PushUrl = home_url('/').'del.php?up=1';
$request = new WP_Http();
return $request->request($PushUrl);
}
add_action('publish_post', 'PushCache');
add_action('delete_post', 'PushCache');
add_action('post_updated', 'PushCache');
add_action('publish_page', 'PushCache');
添加完兩篇教程中的所有代碼後即可讓 WordPress 實現非插件自動生成 html 緩存,並且自動更新緩存了~~
(PS:由於小編維護服務器時手誤,造成網站數據丟失。。並且宕機半小時。之後憑着記憶手打補回來了幾篇文章。。但是評論數據就沒了。。坑爹啊)