更新一下 WordPress Ajax 评论提交

三月底,升级到 WordPress 5.1,comment_reply_link 函数更新,生成的回复链接没有了 onclick,主题『回复』按钮失效——回复评论时发现要点两次『回复』才能把 @xx 填进评论框,第一次点『回复』会刷新页面,第二次点才不会刷新,并且 comment-form 位置不会移动到要回复的评论下面。

主题使用大发版本 Ajax 评论提交,大改肯定改不来,只好直接修改『回复』按钮凑合。后来还有 js、钩子方法:修复 WordPress 5.1 评论回复按键失效问题

昨天逛博客,无意中发现大发早就(2019-3-26)更新代码,移除了脚本里集成 addComment 对象,并载入 WordPress 官方文档。于是跟着更新了一下主题 WordPress Ajax 评论提交代码。

原文:

大发 - WordPress Ajax 评论提交

5.1+ 新版本

新版本重构 addComment 对象使原来的代码失效了,于是移除了脚本里集成的 addComment 对象,并载入官方文档。

只要是4.4+ 版本即可使用。

下载地址

4.4+ 新版本

查看源码发现4.4新增了一个函数 wp_handle_comment_submission

这个函数可以看作是 wp_new_comment 升级版,用这个函数将大大减少AJAX回调函数代码量,简单说就是由原来几十行代码变成一行,而且过滤条件更加全面,非常之方便。 :idea:

本教程必须为4.4或以上版本,低版本直接使用会报错。

使用方法

下载压缩包里的文件,解压后将文件夹上传到主题根目录下,注意是加压后的文件夹,不是文件件中的文件。

下载地址

然后在functions.php中使用如下代码调用

require('ajax-comment/main.php');

配置适应主题

app.js第四行调整评论列表class

__list = 'comment-list';

main.php 中 formpostion 参数为评论表单位置

回调函数中评论样式可根据主题自行调整,但不要使用回复按钮,会报错。

代码已经过默认主题 twentysixteen 测试,没有任何问题。

旧版本

2015/11/17 更新

解决了当评论倒序排列时新评论无法出现在顶部的bug

增加了一个评论表单位置参数

编辑 do.php,找到 formpostion 参数(约第9行),默认为 bottom,如果表单在顶部则设置为 top。

2015/09/15 更新

处理了没有评论时刷新后才能显示新评论 bug,注意在 js 中修改自己的容器名。

增加了一个是否接受邮件通知的选项。

ajax 提交评论不但可以提升交互体验而且可以防止垃圾评论,一般垃圾评论都是通过表单机器人提交的,如果使用了 ajax 评论提交我们就可以禁用 WordPress 表单提交——删除或者清空 WordPress 根目录下 wp-comment-post.php 这个文件。

默认代码兼容wordpress 默认主题2015。

实现方法

下载压缩包,解压后把文件夹放到自己的主题目录中,在functions.php中加入如下代码即可。

require get_template_directory() . '/ajax-comment/do.php';

注意是把解压得到的文件夹放到主题目录下,不是文件夹中的文件。

兼容处理

由于主题结构的不同,可能出现的结果是虽然你成功提交了评论,但是刷新之前显示不正常,那么我们需要对相关函数进行处理

1.评论样式不一致

需要修改文件夹中的 do.php,修改其中的评论结构使之和你的一致即可

2.不显示新评论

这是因为包裹评论的容器和JS中的不一致,打开comments.php,看看你的容器名,然后修改ajax-comment.js中标注的位置即可,具体代码如下

__list = 'comment-list';//your comment wrapprer

3.注意你的评论结构使用的是ul还是ol,js中也要保持一直

4.修改文字提示样式需要修改压缩包内的css文件

5.如无文字提示则检查你的评论框textarea是否有id="#comment"

文件下载

各个版本代码下载:fa-ajax-comment(2020-12-12 整理),可能需要根据主题实际修改一下。

更新记录

2019-9-24:回滚了,引入 comment-reply.js 新方法,移动端原本评论@回复失效(改用新版本@可以解决这个问题),取消回复按钮失效(貌似官方取消回复就不会清除评论框已经输入的内容)。

2020-12-10:重新试用引入 comment-reply.js 新方法,不过还是不完美:回复评论后评论框不会回到原始位置;Ctrl+Enter 会连发评论……应该是与 comment-reply.js 没有完全兼容。

除非注明,垃圾站文章均为网络收集,本文地址 https://cyhour.com/1143/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,任何VPS主机均有跑路风险且需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

Adobe Flash Player 去helper(Win10 完美恢复)

Adobe 在2020年12月31日后将不再支持 Adobe Flash Player,从2021年1月12日开始,阻止 Flash 内容在 Flash Player 中运行。截图 虽然不喜欢 Adobe Flash Player,但是有些网站目前仍然离不开 Adobe Flash Player,过渡解决方法是:安装中国特供版 Adobe Flash Player 或者安装网友修改 Adobe Flash…

升级新版 Google AdSense 代码提升广告效果

2021年7月19日,Google AdSense 最近发布了新版 AdSense 代码。通过新版 AdSense 代码,AdSense 可以更早触发优化功能,从而提升网站上广告效果。新广告代码适用于自动广告和广告单元。 如何获取 Google AdSense 新版代码? 无需采取任何措施。在下次登录 AdSense 后,您将拥有对新广告代码的访…

利用 Google Analytics 追踪 WordPress 站内搜索关键词

Google分析(Google Analytics)是一个由 Google 所提供的网站流量统计服务。Google 分析(Analytics)现在是互联网上使用最广泛的网络分析服务。 利用 Google Analytics 追踪 WordPress 站内搜索关键词 优化内容 如果网站/博客在 Google Analytics 流量统计,利用 Google Analytics 追踪 W…

Google Analytics 异步请求(服务端请求)

感谢伟大的祖国,使得好好的 Google,必须折腾一番才能好好的用起来。Google 搜索如此,Google Analytics 肯定也不例外(网上据说 Google Analytics 没有被屏蔽)。 Google Analytics 支持服务端发送统计信息(via:Jerry Qu),而通过服务端统计可以解决 Google Analytics 连接缓慢问题,提高页面…
浏览: 106 标签:  ,  , 
浏览: 106 标签:  ,  , 

Comments:19

  1. 垃圾站-浮游
    浮游

    以前站点用动态程序的时候喜欢用pjax,效果很明显。现在用静态后,站点放在境外,网络不是很好,用的instant.page。不过不管站点是动态还是金泰,都建议上ajax或pjax,浏览上都能提高一层次的体验

    2019.09.23 11:59 # 回复
    1楼
    • pjax 貌似不好折腾吧?ajax 我都不会,都是拼人家的代码。

      2019.09.23 22:04 # 回复
      • 浮游

        应该不难,我记得以前用typecho的时候还弄过,我记得可以调用现成的js文件,像你这样的推荐资源、左邻右里、顶部等这些不变动的栏目可以不管它,其他的内容变动的地方,在对应的地方加上便签就可以了。图片多的话,建议你用用懒加载,网页打开会快很多

        2019.09.24 16:08 # 回复
        • @浮游 以前是有图片懒加载,后来觉得图片不多就去掉了。治标不治本,老老实实压缩图片,少上图片比较好。上 webp 好像也能加加速。不过在测试站还没折腾成功,囧……

          2019.09.25 12:07 # 回复
  2. 我想试试你的评论ajax

    2019.11.10 22:54 # 回复
    2楼
  3. 垃圾站-黑猫
    黑猫

    感觉还可以啊

    2020.02.08 13:35 # 回复
    3楼
  4. 垃圾站-cyclists
    cyclists

    我老是不成功,不知道啥原因,大佬可否教否?

    2020.12.10 04:20 # 回复
    4楼
    • @cyclists F12 看错误提示咯。

      2020.12.10 09:54 # 回复
      • cyclists

        @老杨 没有提示错误,大佬有空能否AJAX评论适配一下https://github.com/AgateLee/Kunkka这个主题呀,可付费。

        2020.12.14 01:13 # 回复
        • @cyclists 这主题貌似很久没有更新了啊,这几天找时间试试看。博客 WP 版本多少呢?

          2020.12.14 15:26 # 回复
          • cyclists

            @老杨 wp5.5.3,大佬

            2020.12.14 19:02 # 回复
            • @cyclists 试试:http://ct.0xo.net/file/12816724-475943579
              解压密码 1024,满意的话任意打赏,https://cyhour.com/about/#toc-15

              2020.12.15 09:17 # 回复
              • cyclists

                @老杨 不好意思哈,时隔一个月才来回复您,刚才给大佬微信打赏了16.8喝一杯奶茶,备注是kunkka相关,这一直忙,就忘记了网站,今天有空就下载了试了试,很完美,小小心意,不能让好人寒心,祝大佬新年快乐!

                2021.01.19 12:26 # 回复
  5. 垃圾站-cyclists
    cyclists

    周末回复您,因为我在富士康进厂,上的是夜班,白天睡觉,晚上8点上班,没啥时间,只有周末放假去网吧

    2020.12.15 11:16 # 回复
    5楼
  6. 垃圾站-cyclists
    cyclists

    如果不嫌弃,可以加我微信cyclistsing

    2021.01.19 12:27 # 回复
    6楼
  7. 引入 comment-reply.js 连发评论的问题解决了没

    2021.06.12 18:49 # 回复
    7楼

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息