欢迎光临
我们一直在努力

解决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);

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

赞(3) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《解决WordPress开启CDN加速后阅读数、点赞不实时更新的问题》
文章链接:https://www.caochen.net/208.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

评论 抢沙发

更专业 更方便

联系我们

觉得文章对您有帮助,就打赏一下文章作者

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

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

×