WordPress 5.1 中的评论回复问题

前言

这个问题是在回复访客留言时发现的,因为本站评论是 ajax 提交的,出现了页面刷新自然就不对劲了。

问题排查:与本地测试站点进行了比较,发现 5.1 将评论回复按钮中的 onclick 调用的 addComment.moveForm() 事件砍了, :huaji23: 喵喵喵???
WPComment2019.png

临时处理:因为本站的 CSS 与 JS 都是从 jsdelivr 引的,更新有点麻烦,所以就改了 WordPress 的 comment-template.php,把 onclick 改回去了 2333,我他娘的真是个人才 :huaji15:

顺便一提,我对 comment-template.php 进行了文本比较,发现大多数更改就是加括号,嗯,规范了下写法,然后改了评论回复那部分(卧槽 下次改能不能发个通知???,而且自己的 comment-reply.js 还是用的 addComment.moveForm(),到底是想闹哪样?),然后用的 add_query_arg() 函数也少了个参数,所以 5.1 评论回复按钮的链接并不是完整链接(不知道是不是故意为之?)。

问题解决:手动再绑定下事件。

$('body').on('click','.comment-reply-link',function(){
    if($(this).attr('onclick')) return; //对低版本用户而言,防止重复绑定,5.1 用户可不写
    addComment.moveForm($(this).attr('data-belowelement'),$(this).attr('data-commentid'),$(this).attr('data-respondelement'),$(this).attr('data-postid'));
    return false; //防止页面刷新
});

当然,网站主题也进行了更新,如果是本站主题用户,直接更新主题即可。

点赞
  1. Google Chrome Windows 10

    你真是个鬼才,我™的意大利跑呢,我要轰死这个鬼才。 :huaji2:

  2. Sonic853说道:
    Google Chrome Windows 10

    我的也遇到了,我把带有“wp-includes”目录的js和css全部从cdn改回自己站点了 :huaji12:

    1. 小白-白说道:
      Firefox Windows 10

      :huaji9: 刷新下 cdn 不行么

      1. Sonic853说道:
        Google Chrome Android 7.1.2

        cdn那边我套了两个cdn,要清掉只能等上30天orz

        1. ggmmgg说道:
          Google Chrome Android 7.1.1

          哈哈

  3. 戴兜说道:
    Google Chrome Windows 10

    防止页面刷新可以用void实现的说 :huaji5:

    1. 小白-白说道:
      Firefox Windows 10

      :huaji8: 能用就行 能用就行

  4. TheColdWinter说道:
    Google Chrome Windows 10

    awa

  5. 千景说道:
    Google Chrome Windows 10

    小米浏览器的蜜汁bug已经被修复了!

    1. 小白-白说道:
      Firefox Windows 10

      修复了也改变不了它是垃圾的事实

  6. wasd269358说道:
    Google Chrome Windows 10

    23333

当前页面评论已关闭。