之前小編曾經寫過一篇 《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:由於小編維護伺服器時手誤,造成網站資料丟失。。並且宕機半小時。之後憑著記憶手打補回來了幾篇文章。。但是評論資料就沒了。。坑爹啊)