»

WordPress点赞后刷新可重复点赞问题的修复

    WordPress  
Wp Super CacheApache网站镜像windows主机wordpressCLB插件CDN的问题cookies百度云加速工作查询缓存重定向浏览器CDN数据库网站优化WordPress插件腾讯云加速htaccess建站WP Rocket爬虫伪静态

最近发现主题的点赞按钮,功能有点问题:点赞之后刷新页面,可以再次点赞。这个问题不应该出现,可以通过cookies设定时间来避免改情况的发生。

原点赞功能的js代码类似于下面:

  1. //点赞  
  2. $.fn.postLike = function() {  
  3.     if (jQuery(this).hasClass("done")) {  
  4.         alert("您已赞过了!");  
  5.     } else {  
  6.         setCookie(location.pathname,1,365);  
  7.         $(this).addClass("done");  
  8.         var d = $(this).data("id"),  
  9.         c = $(this).data("action"),  
  10.         b = jQuery(this).children(".count");  
  11.         var a = {  
  12.             action: "zm_ding",  
  13.             um_id: d,  
  14.             um_action: c  
  15.         };  
  16.         $.post(wpl_ajax_url, a,  
  17.         function(e) {  
  18.             jQuery(b).html(e)  
  19.         });  
  20.         return false  
  21.     }  
  22. };  
  23. $(document).on("click"".favorite",  
  24. function() {  
  25.     $(this).postLike()  
  26. });  

我们需要设置getCookie,将 if (jQuery(this).hasClass("done")) { 改为:

 if (getCookie(location.pathname)==1) {

 

并将 $(this).addClass("done"); 改为:

setCookie(location.pathname,1,365);

 

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

最后代码为:

  1. // 喜欢  
  2. $.fn.postLike = function() {  
  3.     if (getCookie(location.pathname)==1) {  
  4.         alert("您已赞过了!");  
  5.     } else {  
  6.         setCookie(location.pathname,1,365);  
  7.         var d = $(this).data("id"),  
  8.         c = $(this).data("action"),  
  9.         b = jQuery(this).children(".count");  
  10.         var a = {  
  11.             action: "zm_ding",  
  12.             um_id: d,  
  13.             um_action: c  
  14.         };  
  15.         $.post(wpl_ajax_url, a,  
  16.         function(e) {  
  17.             jQuery(b).html(e)  
  18.         });  
  19.         return false  
  20.     }  
  21. };  
  22. $(document).on("click"".favorite",  
  23. function() {  
  24.     $(this).postLike()  
  25. });  

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 1502字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →