WordPress 输入QQ号自动获取用户名及邮箱
再给大家分享一个好用的小功能。评论区输入QQ号自动获取用户名及邮箱,功能不大但确实有利于增加博客留言的积极性。
1. 自建API获取QQ信息
新建一个 PHP 文件,将下面代码丢进去,文件名可自取,这里以 get_qq_info.php 命名。创建完成后将 get_qq_info.php 文件丢到网站根目录下以用于以后调取,也可以将它放在任何一个目录下,只需要保证后面 JS 代码调取是路径正确即可。
<?php header('Content-Type: text/html;charset=utf-8'); $QQ=$_GET["qq"]; if($QQ!=''){ $urlPre='http://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]; echo $result; }else{ echo "请输入qq号!"; } ?>
这里其实还是通过腾讯开放的接口获取到 QQ 用户的真实昵称。
2. JavaScript脚本调用API
将以下代码添加到主题的主要 JS 文件中去,如果主题支持后台自定义代码也可以直接放在后台自定义代码位置。
function fn_qqinfo(){ var qq_num=$('#qqinfo').val(); if(qq_num){ if( !isNaN(qq_num)){ $.ajax({ url:"http://您的地址/get_qq_info.php", //如果网站开启了HTTPS,记得这里要修改成https的链接 type:"get", data:{qq:qq_num}, dataType:"json", success:function(data){ $("#email").val(qq_num+'@qq.com'); $('#comment').focus(); if(data==null){ $("#author").val('QQ游客'); }else{ $("#author").val(data[qq_num][6]==""?'QQ游客':data[qq_num][6]); } }, error:function(err){ $("#author").val('QQ游客'); $("#email").val(qq_num+'@qq.com'); $('#comment').focus(); } }); }else{ $("#author").val('你输入的好像不是QQ号码'); $("#email").val('你输入的好像不是QQ号码'); } }else{ $("#author").val('请输入您的QQ号'); $("#email").val('请输入您的QQ号'); } }
注意:如果网站开启 HTTPS 的话将上述代码中链接改为对应的 https 格式。
3. 前端显示代码
将以下代码添加到你主题的 comments.php 文件中:
<input class="您主题的对应样式" type="text" name="qqinfo" id="qqinfo" maxlength="12" value="" tabindex="5" placeholder="输入QQ号快速填写信息" onblur="fn_qqinfo()" /><span class="您主题的对应样式" >Q Q(选填)</span>
4. 具体效果见本博客留言区
也欢迎大家踊跃留言。
13 条评论
QQ游客 ( VIP 1 )
咋所有人昵称都是QQ游客?
_ ( VIP 1 )
测试
头像貌似没获取到
Jakehu
嗯,只可以获取到用户名和邮箱地址
若志奕鑫 ( VIP 2 )
那填写邮箱获取头像有木有相关教程
Jakehu
http://q1.qlogo.cn/g?b=qq&nk=QQ号码&s=640 这是获取QQ头像的API 可自行添加的 。
若志奕鑫 ( VIP 2 )
就是填写评论信息的时候
Jakehu
毕竟大部分博客还要考虑Gravatar头像,您也可以参考这个 https://www.jakehu.cn/599.html
若志奕鑫 ( VIP 2 )
跟着上面操作,没搞明白为啥获取不到昵称
微_凉丶 ( VIP 1 )
test测
QQ游客 ( VIP 1 )
感觉还不错
2broear ( VIP 6 )
这个 urlPre 还能返回qq昵称,真不错!
Jakehu
还有个好玩的小功能,我的博客右下角新加入了一个随便看看的按钮,每次点击都随机打开一篇文章,找到配图后也发出来。
2broear ( VIP 6 )
这玩意得php拉文件名不,js搞不起