亲测有效!今天给大家解决WordPress启用cdn后,文章阅读量统计不刷新的问题。
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后,文章阅读量统计不刷新的解决方案就写到这里了,如果本方法对你有效,点赞评论一下不过分吧