Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能

WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能

Eswlnk的头像
Eswlnk
2022-02-01 1:12:45
WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能-Eswlnk Blog
智能摘要 AI
本文介绍了作者为方便访客留言而开发的QQ自动补全评论者信息功能。通过调用QQ空间接口获取QQ用户的昵称和头像,并将其自动填充到评论框中。前端使用jQuery和Ajax实现信息获取与页面更新,确保访客无需手动填写大量信息即可快速发表评论。同时,作者强调了代码适配、元素选择的重要性,并提出了一些潜在问题及解决方案,如Cookie存储和避免函数冲突。最终实现了输入QQ号后自动填充昵称、邮箱和头像的效果,提升了用户体验。

由于本站QQ登录的回调接口有点小问题,所以为了更加方便访客在博文下方留言,我决定开放访客留言功能。但是需要补全的信息框比较多,为了更快速的让访客表达自己的想法,所以我决定在评论框处添加《填入QQ自动补全评论者信息》的功能。网上也有相当多的教程,不过为了适配自己的主题,还是得适当地做一些修改。

WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能-Eswlnk Blog
WordPress开发日志

QQ信息API

以前做了一个API平台,结果主机商跑路了,带着我的数据一同消失在了茫茫人海之中,不过获取QQ信息这部分的接口我还保存在磁盘上,可以直接拿出来用。代码也很简单,我就直接贴出来:

<?php
// header
header("Content-Type:application/json");

// 获取扣扣号
$qq = (isset($_GET['qq']))?$_GET['qq']:$_POST['qq'];

// 过滤
if (trim(empty($qq))) {
        echo json_encode(array('status' => 'error','msg' => '未传入QQ号'),320);
}else{
        // 获取QQ用户信息
        $urlPre='https://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?g_tk=1518561325&uins=';
        $data=file_get_contents($urlPre.$qq);
        $data=iconv("GB2312","UTF-8",$data);
        $pattern = '/portraitCallBack\((.*)\)/is';
        preg_match($pattern,$data,$result);
        $result=$result[1];
        $qqnickname = json_decode($result, true)["$qq"][6];
        $qqheadimg = "https://q1.qlogo.cn/g?b=qq&nk=".$qq."&s=100&t=1547904810";

        // 开始判断这个扣扣号是不是有真实用户信息返回
        if ($qqnickname) {
                // 如果有,就可以返回JSON数据
                echo json_encode(array('status' => 'success','msg' => '获取用户信息成功','nickname' => $qqnickname,'headimg' => $qqheadimg),320);
        }else{
                //如果没有,那么只能返回获取失败
                echo json_encode(array('status' => 'error','msg' => '获取用户信息失败'),320);
        }
}
?>

利用QQ空间的接口来获取到目标的QQ信息,不过如果QQ用户关闭了QQ主显,那么将无法获取到其他信息,所以后续在JSON数据中添加一个错误情况,避免前端出现展示错误。

前端修改

为了方便调试,我决定在本地对评论框进行修改和测试,F12将评论框的代码复制下来,贴到HTML文件里,接着咱们来对它进行改造。

JavaScript添加

我们引入JQuery库来帮助我们完成本次js文件的构造,昨天BootCDN挂了,所以我推荐大家将JQuery拉到本地,或者用Staticfile CDN来替换,比较靠谱:

<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能-Eswlnk Blog
JavaScript

为了方便信息的获取,我们需要使用ajax来请求我们所需要的信息,例如下面的请求代码:

      $.ajax({
        url: "/qq_data.php",    //如果网站开启了HTTPS,记得这里要修改成https的链接
        type: "get",
        data: { qq: qq_num },
        dataType: "json",
        success: function (data) {
          var json = data;
          if (data == null) {
            $("#author").val('QQ游客');
          }
          else if (json.status != "error") {//成功获取
            $("#author").val(json.nickname == "" ? 'QQ游客' : json.nickname);
            $("div[class='comment-avatar-author flex-avatar w-32 me-3 ']").children()[0].src = 'https://thirdqq.qlogo.cn/g?b=oidb&k=nMfnfkyAIv73hicY24YMwVA&s=40&t=' + qq_num;
            $("#email").val(qq_num + '@qq.com');
            $('#comment').focus();
            get_yiyan();
            my_status = 1;
          }
          else {
            $("#qq_num").val("");
            my_status = 0;
          }
        },
        error: function (err) {
          $("#author").val('QQ游客');
          $("#email").val(qq_num + '@qq.com');
          my_status = 0;
        }
      });

这一部分代码算是本次改造评论框的核心部分,需要注意一点的是在于元素的选择上,由于JQuery给出的元素选择和JS原生的有些许不同,所以这方面还是得自己拿捏一下。这个主题的评论框class属性后有一个空格,试了各种办法最后终于解决了。所以在你们自己添加时需要注意一下class属性是否正确。

后面我添加了一个layer的提示框,可以提醒评论者QQ是否填写正确。

评论框架

为了方便节约时间,我直接将前端的评论框复制了一遍,并排在了一起,效果如下图所示:

WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能-Eswlnk Blog
评论区

我感觉还可以,如果你有什么稀奇古怪的想法, 也可以自己加,不过我建议先在本地测试,修改好了在添加到自己的网站上,代码我就贴上通用的:

  <input id="qq_num" onblur="get_qqinfo();" placeholder="请输入您的QQ账号">QQ账号
  <input id="author">名称
  <input id="email">邮箱
  <input id="url" placeholder="网站地址">网站
  <div class="comment-textarea mb-3">
    <textarea id="comment" name="comment" class="form-control" rows="3"></textarea>
  </div>

在输入QQ账号的输入框这里,我建议将get_qqinfo()放置输入框失去焦点时自动执行,如果你非要添加个获取按钮,那样也行。后续的话,我可能会考虑再添加一个滑动按钮,滑动后才能获取QQ信息,避免频繁请求。

问题拓展

后续还有一个问题需要自行解决,如果你的主题较为强大,那么你就可以直接忽略这一点。

在评论者提交评论后,一般主题会保留cookies方便下次提交评论时一键填写,所以我们也需要将QQ号一同保存至cookis中,或者重写写一个js来获取之前填写的QQ邮箱转换为QQ账号,避免影响整体的美感。

主题自带ajax提交评论也需要注意,不要函数冲突,否则会很麻烦,排查也需要花费时间,降低生成力。

效果展示

输入QQ账号后,自动获取用户名,邮箱地址以及头像,并且自动填充评论框的内容(方便留言),网址可以自行添加,并且头像将外链至您的站点。所以高质量的评论非常重要,如果恶意灌水会被自动屏蔽,填充博文感想之时,又为您的站点做了外链,是一件不可多得的美事。

WordPress开发日志|评论框添加填入QQ自动补全评论者信息功能-Eswlnk Blog

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
QQ自动补全信息WordPressWordPress开发日志评论框美化
1
10
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
WordPress开发日志:利用Ajax添加文章页自动推送并显示推送结果
上一篇
网络空间测绘页面开发日志
下一篇

评论 (10)

请登录以参与评论
现在登录
  • Randal Rosenstengel

    Hello, from CustomData.info we are a provider of unique databases that could help your business.

    Please visit us at CustomData.info to see if we can help you.

    Regards,
    Randal

    4 年前 • 20.24.*.* • Unknown Unknown • 回复
  • Antonio Brooks

    Hello.

    We are offering Bullet Proof SMTP servers that never get suspended. Email as much as you want.

    DMCA ignored, bulletproof locations, 100% uptime guaranteed, unlimited data transfer, and 24/7/365 support.

    100 Spots available. BulletProofSMTP.org

    4 年前 • 天朝国度 • Unknown Unknown • 回复
  • Gerald Alvarez

    It is with sad regret to inform you that companyleads.org is shutting down.

    We have made available over 300 million records for $149.

    Regards,
    companyleads.org

    4 年前 • 天朝国度 • Unknown Unknown • 回复
    • 的头像
      小伍同学

      @Gerald Alvarez Thank you for visiting my blog, but I’m not interested in these data for the time being

      4 年前 • 天朝国度 • Unknown Unknown • 回复

猜你喜欢

  • 插件分享:新增自助购买卡密功能
  • 主题改造计划:手动模块化网站首页
  • 「插件分享」WP Migrate DB Pro | WordPress数据一键迁移工具
  • 「日志记录」逆向必应翻译网页版API实现免费调用
  • 「代码分享」第三方平台VIP视频解析API接口
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

wordpress网站优化之美化文章页列表框
2021-06-10 0:52:37
「WordPress插件」WordPress Automatic |自动采集发布插件
2022-09-05 15:23:51
「代码分享」JavaScript 单例模式的实现与应用
2024-04-20 18:27:02

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.974 秒   |  SQL查询 54 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈