DotAsys.Com
多糖(个人)实验室,爱生活,瞎折腾,不纠结!

WordPress评论填写昵称邮箱太麻烦?安排!评论时输入QQ号自动填写昵称、邮箱

%title插图%num

国内的WordPress博主是不是很纠结?

当我们使用WordPress架设博客后,大多数情况下,还是希望有人来看,甚至更希冀有人来评论评论的。

但是自从WordPress进入5.x版本,一直到现在的WordPress 6.0版本,评论要么是昵称和邮箱都不填写,要么就得都填上。

简直不要太麻烦了!咋办呢?

安排!

今天,这里就给大家分享一个好办法,来解决WordPress评论的这个梗。

——评论的时候只需要输入QQ号码就可以自动填写昵称、邮箱!

第一步:在WordPress根目录上传一个php文件,以通过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?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号!";
    }
?>

这个php文件的功效就是通过腾讯QQ的开放接口获取用户的昵称。

第二步:用JavaScript脚本调用我们刚才上传的API

这里有两种方法,一是直接将以下代码添加到主题的主要 JS 文件中去,比如我们多糖实验室博客正在使用的DUX主题,那就要需要添加到 /dux/js/main.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号');
    }
}

当然,如果我们的主题支持后台自定义代码也可以直接放在后台自定义代码位置中,比如:

<script type="text/javascript">
function fn_qqinfo(){
    var qq_num=$('#qqinfo').val();
    if(qq_num){
        if( !isNaN(qq_num)){
        $.ajax({
        url:"https://www.dotasys.com/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号');
    }
}
</script>

如果我们是放在主题后台的自定义代码的时候,就要注意需要加上 script 标签。

<script type="text/javascript">
XXXX
</script>

第三步:在主题的前端代码中添加调用

将以下代码填入你主题的 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>

比如,在多糖博客使用的DUX主题中,我们可以在comments.php 文件中查找:

<li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" tabindex="2" placeholder="昵称"><span class="text-muted">昵称 (必填)</span></li>

在此之前插入我们的QQ号码获取昵称、邮箱代码:

<li class="form-inline"><label class="hide" for="qqinfo">QQ</label><input class="ipt" type="text" name="qqinfo" id="qqinfo" maxlength="12" value="" tabindex="5" placeholder="输入QQ号快速填写信息" onblur="fn_qqinfo()" /><span class="text-muted" >Q Q(选填)</span></li>

ok,这样我们就设置好了。

在未登录用户参与我们WordPress文章评论的时候,直接输入QQ号码就可以快速自动获取昵称和邮箱了。

具体效果可以参见 多糖实验室 DotAsys.Com

 

赞(3)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《WordPress评论填写昵称邮箱太麻烦?安排!评论时输入QQ号自动填写昵称、邮箱》
文章链接:https://www.dotasys.com/309.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 2

  • Q Q(选填)
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    测试一下!

    /dasan月光倾城1个月前 (05-28)回复
  2. #2

    还行,比较方便。

    (_牛魔王_)1个月前 (05-28)回复