亲测有效!今天给大家解决WordPress启用cdn后,文章阅读量统计不刷新的问题
为了网站的访问速度,今天给网站加上了cdn,这里我用的是WordPress,什么,你说程序猿还用开源的博客程序?
靠,问这话的人纯属脑子有坑。如果我自己开发一个博客,我是不是还得去维护,还得去更新?但是呢,WordPress有专门的团队帮你去维护ge更新,并且还是免费的,别人给你打工,而且还不收钱,为什么不用?我就bi鄙视一些程序员,觉得自己是程序员,什么东西就非得用自己开发的,如果用别人的就低人一等的样子,你这么牛掰为什么还用微信QQ?自己去开发呀。
WordPress启用cdn后,文章阅读量统计不刷新的解决方案
开启CDN后,其实浏览量不是不刷新,而是只在首次缓存的时候才会增加一次。
因为只有第一次访问的时候才会执行php,缓存后就直接访问的html了,所以就不会增加统计了。所以解决问题的方式,是让html也能统计到浏览次数,这就需要用到:ajax。我们只需要ajax提交文章的ID给后方的php,后方的php接收到文章ID后,将该文章的浏览次数+1。
这个原理对于非程序员来说可能不懂,不过没关系,你们不需要懂,按我的步骤操作即可:
1、首先,在footer.php中添加ajax的代码,注意url的地址要改为自己的php路径:
<?php if (is_singular()) : ?>
<!-- ajax post view -->
<!-- ajax post view -->
<script type= "text/javascript" >
$.ajax({
type:'POST',
url: "//填你的域名/wp-content/themes/主题目录/view2.php" , /*此处需要修改为自己的php路径*/
data: {
"postviews_id" : "<?php the_ID();?>"
}
});
</script>
<?php endif ; ?>
2、在WordPress主题目录下创建view2.php,并加入如下代码:
<?php
//禁止直接访问本php
if ( 'POST' != $_SERVER['REQUEST_METHOD'] ) {
header('Allow: POST');
header('HTTP/1.1 405 Method Not Allowed');
header('Content-Type: text/plain');
exit;
}
require( dirname(__FILE__) . '/../../../wp-load.php' );
nocache_headers();
$post_ID = $_POST['postviews_id'];
$post_views = (int)get_post_meta($post_ID, 'views', true);
update_post_meta($post_ID, 'views', ($post_views+1));
?>
关于WordPress启用cdn后,文章阅读量统计不刷新的解决方案就写到这里了,如果本方法对你有效,点赞评论一下不过分吧