欢迎光临
我们一直在努力

解决WordPress开启CDN加速后阅读数、点赞不实时更新的问题

首先在footer.php中添加ajax的代码,注意需要将前台显示访问量的标签ID或class名称改成自己的。

<script type= "text/javascript" > 

function GetCookie(sName) {

    var arr = document.cookie.match(new RegExp("(^| )"+sName+"=([^;]*)(;|$)"));

    if(arr !=null){return unescape(arr[2])};

    return null;

}

var postviews_cook=GetCookie("postviews<?php the_ID();?>");

  if ( postviews_cook == null ){

$.ajax({ type:'POST', url: "<?php echo admin_url('admin-ajax.php');?>" , data:"postviews_id=<?php the_ID();?>&action=postviews",

cache:false,success: function(postviews_count){ $("#views").text('阅读:' + postviews_count + ' 次');document.cookie="postviews<?php the_ID();?>=" + postviews_count;} }); 

  }

  else{

$("#views").text('阅读:' + postviews_cook + ' 次');

};

 </script>

然后直接在自己主题的functions.php中添加下面的代码:

/*

* 缓存时更新浏览量-无缓存

* //www.caochen.net/208.html

*/

function postviews_cache(){

    if( empty( $_POST['postviews_id'] ) ) return;

        $post_ID = $_POST['postviews_id'];

        if( $post_ID > 0 ) {

                $post_views = (int)get_post_meta($post_ID, 'views', true);

                update_post_meta($post_ID, 'views', ( $post_views + 1 ));

                echo ( $post_views + 1 );

                exit();

        }

}

如果想使用有缓存的版本,想要开启网站缓存,可以选择安装缓存插件,或者直接在网站根目录的wp-config.php中,加入下面这行代码:

define('WP_CACHE', true);

对于本文的解决方案有什么意见和建议,希望能够在下方评论栏中提出来。

赞(2) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《解决WordPress开启CDN加速后阅读数、点赞不实时更新的问题》
文章链接:https://www.caochen.net/208.html
转载本站博文时请务必以超链接形式标明源文出处,否则谢绝一切转载!若发现本站有任何侵犯您利益的内容,请及时邮件或留言联系,我会第一时间删除所有相关内容。本站软件资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

×