对wordpress非插件生成html静态缓存教程的补充,自动更新缓存

之前小V曾经写过一篇《wordpress非插件生成html缓存》的wordpress教程,在教程发布后有不少小伙伴使用了该教程的代码来对自己的wordpress站点进行缓存加速,在此教程发布不久之后便有不少小伙伴联系小V说是该方法缓存后网站速度有了非常明显的提升,但是该方法有个弊端,就是缓存不会自动更新,这次小V就来对该加速方法进一步的补充下,添加自动更新缓存功能,实现发布新文章或者是更新文章之后立即自动刷新缓存。

实现方法如下:

一、复制一下这段代码保存为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:由于小V维护服务器时手误,造成网站数据丢失。。并且宕机半小时。之后凭着记忆手打补回来了几篇文章。。但是评论数据就没了。。坑爹啊)

对wordpress非插件生成html静态缓存教程的补充,自动更新缓存》上有20条评论

  1. Summer

    怎么排除登陆缓存了。
    对于登陆才能评论的站点好像登陆后依然显示没有登陆。

    下载这个已经不能用了,已测试。

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注