WordPress网站实现免邮箱(或可选)手机号注册插图

引言

在当前的网站搭建中,最基本的注册功能仍然使用邮箱。然而,随着时代的进步,大多数人已经不喜欢使用邮箱来进行注册了。我们更倾向于使用微信、QQ或手机号等方式进行注册和登录。微信和QQ登录提供了便利的一键注册登录功能,并且可以直接绑定已经通过邮箱注册过的账号进行一键登录。但是,实现这些功能并不容易,特别是微信的要求较为严格,同时网站也必须完成备案手续,而备案通常需要几天的时间。对于个人建站的站长来说,可能刚开始只是出于兴趣想要尝试建站,没有太多规划,因此很少有备案的情况发生。我认为目前除了邮箱注册之外,最容易实现的方式就是手机号注册,只需要支付一些短信费用,并且市场上也有很多可以对接网站的插件。

Vaptcha手机注册插件的选择

首先我选择了Vaptcha手机注册插件,这款插件由智能人机验证服务商VAPTCHA官方提供,支持国内和国际短信的快速发送。该插件提供了免费的手机注册功能,操作简单易懂,并且完全兼容PC和移动端。我们的网站(Discuz)也采用了这款插件。

WordPress博客类型网站的使用

对于WordPress(以下简称WP)博客型网站来说,使用Vaptcha插件更加便捷,而且还可以实现免密登录,方便快捷。只需要在后台进行安装和开启即可使用,同时还保留了原本的邮箱填写项,该项是必填的。如果您想要取消注册页的邮箱填写功能,您可以在网上找到以下代码进行修改:

//WordPress组织免邮箱注册功能实现
add_action('register_form','cwp_remove_remail_on_registration_screen');
function cwp_remove_remail_on_registration_screen(){
?>
<style>
/*隐藏电邮输入栏*/
#registerform>p:first-child+p{display:none;}
/*隐藏这句话:"密码将通过电子邮件发送给您。"*/
#reg_passmail{display:none;}
</style>
<script type="text/javascript" src="https://www.wpzt.net/<?php echo site_url('/wp-includes/js/jquery/jquery.js');?>"></script>
<script type="text/javascript">
/*为隐藏的邮件输入栏根据用户输入的用户名和当前的域名自动输入邮箱*/
jQuery(function(){
jQuery('#user_login').change(function(){
jQuery('#user_email').val(jQuery('#user_login').val()+'@'+window.location.host);
})
});
</script>
<?php
}

将以上代码添加到主题函数functions.php中即可实现免填写邮箱的功能。

然而,实现了免填写邮箱功能后,您会发现对于大多数用户来说这是很方便的。但是对于一些需要填写自己真实邮箱以便接收邮件的用户来说,如果在注册页中没有相应的提示,他们可能会感到困惑并抱怨为什么取消了邮箱填写功能。此外,WP网站默认不支持中文注册名,如果用户使用中文名进行注册,他们可能会遇到以下提示(当邮箱填写未隐藏时):

自动填入的邮箱信息里有中文也是不行的(所以中文名注册不适合隐藏邮箱),会提示“请填写正确的手机号”,刚开始我是一头雾水的,因为验证码都收到了怎么手机号不正确呢?后面通过测试查找才知道这原因。这里要说明下,中文注册名也不能超过5个字,超过了也会出现上面图中那样的提示,字符字数限制和WP数据库设定以及字符规则限制造成的,数据库修改需要有一定经验和技术,不建议随便尝试,我也不会。

实现中文注册的方法很多,大家去网上找下就有了,如果觉得网站或主题更新后又要修改代码麻烦就用插件吧!

为了保留邮箱的部分功能,我们仍然需要对免邮箱注册功能的代码进行适当的删减:

//WordPress组织免邮箱注册功能实现
add_action('register_form','cwp_remove_remail_on_registration_screen');
function cwp_remove_remail_on_registration_screen(){
?>
</style>
<script type="text/javascript" src="https://blog.eswlnk.com/<?php echo site_url('/wp-includes/js/jquery/jquery.js');?>"></script>
<script type="text/javascript">
<em>/*为隐藏的邮件输入栏根据用户输入的用户名和当前的域名自动输入邮箱*/</em>
jQuery(function(){
jQuery('#user_login').change(function(){
jQuery('#user_email').val(jQuery('#user_login').val()+'@'+window.location.host);
})
});
</script>
<?php
}

通过删除隐藏邮箱的代码,我们保留了需要填写真实邮箱的用户。同时,在注册页面上添加相应的提示,这样才能实现可选免填邮箱的功能。以下是一个示例提示代码,您可以根据实际情况修改:

//注册页添加自定义说明
add_action('register_form', 'register_message');
function register_message() {
    $html = '
        <div style="margin:10px 0;border:1px solid #ff4747;padding:10px">
            <p style="margin:5px 0;">
                小编提示:这里根据自身需求调整哦!
                <a href="https://www.example.com" target="_blank">注册协议</a>
            </p>
        </div>';
    echo $html;
}

将以上代码添加到WordPress主题的函数文件functions.php即可。

WordPress网站实现免邮箱(或可选)手机号注册插图3
来源 vaptcha

结语

通过以上的改进和实现,我们可以让网站的注册方式更加多样化,并且提供免邮箱注册的便利功能。使用Vaptcha手机注册插件可以简化注册流程,而对于WordPress博客型网站,使用适当的代码修改和插件安装可以实现中文注册名和免填写邮箱的功能。希望这些方法和技巧能够帮助到您,让您的网站更加符合用户的需求和期待。