解决WordPress开启CDN缓存后文章浏览量不自增的问题

前言

WordPress开启CDN静态缓存页面之后,当我们访问文章的时候,便不会去请求源站,而是返回CDN缓存了的页面,所以文章的浏览数量不会进行自增以及其他的变化。
解决WordPress开启CDN缓存后文章浏览量不自增的问题

解决办法

解决这个问题,我们可以通过Ajax来异步请求服务器,然后再进行文章的浏览数量自增或其他的操作。(注:本方法仅适用于使用了WP-PostViews插件或者和具有WP-PostViews相同字段的博客,若你的文章统计字段不同,可自行修改下方SQL语句以达到效果)

首先,我们在网站的根目录新建一个操作文件,命名为views.php,将以下代码写入此文件中。

根据@张戈博主提供的建议与信息,将浏览量记录操作做了过滤以及部分优化,但是由于在服务器端进行验证的话如果不使用Redis等缓存,操作量以及存储的Cookie数据可能会比较多,于是我换了一种方式来进行验证过滤(JavaScript部分),代码如下:

接着我们在主题的page.php文件中插入以下代码:

到这一步,就已经成功解决了这个问题。

解决WordPress开启CDN缓存后文章浏览量不自增的问题

若方法中存在BUG请在下方评论中陈述问题,谢谢! :smile:
weinxin
微信扫一扫,关注获得每日动态
使用微信扫一扫左侧二维码,获得每日最新的互联网咨询,不定期发送福利给大家,扫一扫即可获得。
    A+
所属分类:WordPress

发表评论

请在下方填写评论信息

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

表情 粗体 斜体 图片 引用 链接 删除线 下划线 插代码 签到

目前评论:70   其中:访客  37   博主  33

  1. avatar 广元巴士 1  来自天朝的朋友 谷歌浏览器 Windows 7 四川省广元市 电信

    但是我用的百度云加速,似乎没有效果,也许哪里设置不对

  2. avatar 广元巴士 1  来自天朝的朋友 谷歌浏览器 Windows 7 四川省广元市 电信

    感谢博主,刚刚使用wp,就看到了这么实用的代码。已使用

  3. avatar 张戈 1  来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

    貌似还少了一个insertview字段,印象中这个字段是自定义栏目属性,估计你要先判断下文章是不是存在这个自定义栏目才行了,否则update就找不到对象咯。

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

      @张戈 好的,我后面再看看这个插件的数据库结构来更正一下

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

      @张戈 我在我博客中自定义栏目和wp_postmeta表中都没有找到insertview这个字段,不知道张哥的博客是否存在 :?:

      • avatar 张戈 1  来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

        @憧憬Licoy 呃,我表达有误,我的意思是说这个views是一个自定义栏目,所以你在增加浏览数之前,需要先判断该文章是否已经存这个自定义栏目,否则应该先新增这个自定义栏目。
        随手写了下Demo如下,你可以测试下,其实不需要直接使用SQL的来实现的。。。

        • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

          @张戈 好的,我改一下

        • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

          @张戈 好了,张哥你看一下新版代码 :smile:

  4. avatar 张戈 1  来自天朝的朋友 QQ浏览器 Windows 7 广东省广州市 电信

    牛逼

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 7 四川省成都市双流县 电信

      @张戈 谢谢。张哥的意见已经看见了,后面对IP访问进行一些过滤限制。 :smile:

  5. avatar 好趣君福利 1  来自天朝的朋友 QQ浏览器  Android 5.1 OPPO R9m Build/LMY47I 四川省成都市 移动

    用的大前端DUX主题,缓存插件用的WP Rocket ,按照博主的方法实时更新,当然首页缓存没那么快更新,别走入误区,哈哈!方法可用,感谢分享,欢迎来访:【好趣君影视福利 】查看效果

  6. avatar JV 1  来自天朝的朋友 谷歌浏览器 Windows 7 广西南宁市 电信

    有点复杂,看不明白。

    • avatar 憧憬Licoy 博主  来自天朝的朋友 谷歌浏览器 Windows 10 四川省 电信

      @JV 说白了就是通过Ajax来增加浏览量

  7. avatar 明月登楼 4  来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 电信

    现在有一个很怪异的问题,我的chrome在另一个账号下浏览次数一直都是0甚至会很久都是这样的!郁闷!

  8. avatar 明月登楼 4  来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 电信

    我的主站不知道什么原因阅读数总是不能实时更新,及时本地缓存插件支持也不行。
    用了博主的这个代码后可以更新了,并且可以是实时了,哈哈!不错,赞一个呀!
    我在page.php和single.php里都放了最后那段JS代码了!不错,真心很不错呀! :smile: :oops: :mrgreen:

  9. avatar Koolight 5   谷歌浏览器 Windows 7 亚太地区

    现在我用的缓存插件可以排除js :oops:

  10. avatar 明月登楼 4  来自天朝的朋友 QQ浏览器  Android 6.0.1 MI 4LTE Build/MMB29M 中国 移动

    我现在不用 CDN 了,改用本地缓存+七牛云了!呵呵,再也不用为文章“阅读数”不能实时更新惆怅了!