更新一下 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 合租

Gravatar 头像被墙及解决方案 Gravatar 头像国内镜像地址大全

Gravatar 头像真是一言难尽,时而正常时而抽风时而无法访问……就一个 Gravatar 头像,这有啥好强(现代通假字)的呢?(据说是被其它服务连累?) 解决办法 - 调用 ssl/cn 头像链接 历史解决办法:调用 ssl 头像链接——https还是没被墙的,而且速度还不错,直接调用这个最简单了。主题 functi…
浏览: 145 标签:  ,  , 

Redmi Note 9 4G 刷机欧洲EU版净化去广告

虽然口水苹果十三香,但是眼下囊中确实只有红米……到手不用 1000 大洋,试试也无妨,实在不行再找银行/东哥要十三香。 入手 Redmi Note 9 4G 缘由:领导的微信机 iPhone SE 一代确实很老了(再过两个月就开始第六个年头了),没有换过电池,进过水修过一次,现在经常尿崩突然就关机了得插上…

使用 GoAccess 分析 Nginx 日志

最近发现博客加载图片大多时候都是龟速,想过换服务器,换回主机(比如传说中的外贸主机 SiteGround),图片上 CDN……想了一圈,最终什么都没动,一是穷二是懒三是图片多茄大的水文并不多,先这样吧,实在不行再折腾。倒是忍不住折腾了一下 GoAccess 分析 Nginx 日志,分析了一圈,没什么用。 记录…
浏览: 95 标签:  ,  ,  , 

WordPress 纯代码实现彩色标签云及简单优化配置

WordPress 自带标签云小工具,侧栏直接添加即可,就是默认样式有点平淡,可以加点代码实现彩色标签云及简单优化一下。 WordPress 纯代码实现彩色标签云 代码丢到 WordPress 主题 functions.php 文件即可: //彩色标签云 tag cloudfunction theme_color_cloud_hook($text) { $text = preg_rep…
浏览: 132 标签:  ,  ,  ,  , 
浏览: 39 标签:  ,  , 

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信息