解决开启wordpress缓存cdn后无法正常刷新文章阅读量的问题_WordPress_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • WordPress

    当前位置:主页 > CMS教程 > WordPress >

    解决开启wordpress缓存cdn后无法正常刷新文章阅读量的问题

    时间:2019-07-11|栏目:WordPress|点击:
  • wordpress整站开启cdn或是开启缓存功能后,文章内容被浏览不会再增加浏览量,出现这个问题我们可以通过ajax异步加法的方式来解决。原理也很简单,首次访问某文章内容是通过ajax请求,给相应的内容浏览量+1,然后通过js更改页面的浏览数量,同时将浏览记录写入cookic内,后台访问同一个内容页面时,直接从数据库读取最新的浏览量即可。

    下面的代码分为两个部分,需要调用到当前的wordpress主题内容里。js部分是实现异步请求并刷新浏览量,php部分作用是修改数据库

    js部分:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

     

    <?php

    if(is_singular()){//仅在日志页显示js代码

        ?>

    <script>

    $(document).ready(function(){

        $.post("<?php echo home_url('/post-view.php')?>",

          {

            id:<?php echo$post->ID;?>

            },

          function(data,status){

            views=$.parseJSON(data).views;

            //你的阅读量所在的位置。

            $('.entry-content').find('.views').html('<i></i>'+views+'次');

          });

    });

    </script>    

        <?php

    }

    ?>

     

    把以上代码加入到wordpress主题的footer页面内。
    注意:在wordpress根目录新建post-view.php文件,内容如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

     

    require_once('wp-load.php');

    $id=(int)sanitize_text_field($_POST['id']);

    $views=$wpdb->get_row("SELECT meta_value FROM $wpdb->postmeta WHERE post_id = $id and meta_key = 'views'");

    $views=intval($views->meta_value);

    $cookieName='post_views_list';

    $id_arr=explode(',',urldecode($_COOKIE[$cookieName]));

    if(!in_array($id,$id_arr)){

        $views=$views+1;

        $wpdb->update($wpdb->postmeta,array('meta_value'=>$views),array('post_id'=>$id,'meta_key'=>'views'));

        array_push($id_arr,$id);

        //设置cookie过期的时间,这里设定的市10天。

    上一篇: 如何识别免费下载的wordpress主题文件是否被挂木马

    栏    目:WordPress

    下一篇: 为wordpress主题添加复制文章内容时的提示弹出框

    本文标题: 解决开启wordpress缓存cdn后无法正常刷新文章阅读量的问题

    本文地址:http://www.jh-floor.com/CMSjiaocheng/WordPress/3082.html

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号