陌小雨启用wp super cache插件后发现网页速度打开确实快了许多,但对于摆脱不了折腾毛病的陌小雨来说,还是时不时的添加一些特色功能,比如陌小雨刚刚又给自己的博客添加了评论博主标示,只要是陌小雨回复的评论后面都有一个尊贵的admin标示,如下图:
但是来访的博友是实时看不到陌小雨新增加的效果的,陌小雨也只有登录后台后才可以看到,所以就有必要实现这样的功能:有新评论时删除文章或页面缓存。在wp super cache插件后台有一个选项:
陌小雨发现勾选该功能后,并不能实现想要的效果。于是想到了张戈同学曾经分享过的代码版的wp super cache后一些优化措施,依葫芦画瓢,陌小雨找到了xiu主题下的实现该功能的办法。
首先要在主题文件comments.php
中查找下面代码:
do_action('comment_form', $post->ID);
在该串代码下面新增以下代码即可:
//有人评论将自动删除已存在缓存 $post_data = get_post($post->ID, ARRAY_A); $slug = $post_data['post_name']; $cache_s = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$post->ID.".html/index.html"; $cache_sd = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$post->ID.".html"; $cache_p = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$slug."/index.html"; $cache_pd = WP_CONTENT_DIR."/cache/supercache/".$_SERVER['SERVER_NAME']."/".$slug; if (file_exists($cache_s)) { unlink($cache_s); rmdir($cache_sd); } if (file_exists($cache_p)) { unlink($cache_p); rmdir($cache_pd); }
为啥插件自带的不能起作用呢,可能是与xiu主题启用了ajax评论有关。其他主题的可以找找类似的代码就行。