Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

新建一个自定义的WordPress注册表单插件

by
Difficulty:IntermediateLength:LongLanguages:

Chinese (Simplified) (中文(简体)) translation by Fuhuan (you can also view the original English article)

WordPress提供了自定义注册表单功能,可以用来设置一个新用户,或者添加一个新用户,当他们添加到现有的WordPress目录。但是如果你想新建一个自定义注册表单,而不是在WordPress界面中显示选项呢?

在本教程中,我们将展示如何使用模板标记和简单代码在WordPress中新建自定义注册表单。

默认注册表单只包含两个表单域 - 用户名和电子邮件。

只有用户名和电子邮件字段的话,会使注册过程非常容易。首先,你输入你的用户名和电子邮件之后,密码将邮寄到你的邮箱。 接下来,您使用密码登录到网站,然后完成基础配置后,再修改密码。

为什么不简化下流程呢?直接让客户一次性完成注册,其中包含一些重要的额外字段以及默认的用户名和电子邮件,例如密码,网站的URL,传记,昵称,以及他们的名字和姓氏。

像在Tuts +这样的多作者网站中就特别有用。

在本文中,我们将构建一个自定义注册表单插件,其中包含以下表单字段: 

  • 用户名
  • 密码
  • 电子邮箱地址
  • 网址
  • 名字
  • 昵称
  • 个人简介

然后可以使用插件和相关的模板标签将自定义注册表单集成到WordPress中。

使用代码,你可以新建一个页面,并将其作为您网站的官方注册页面。您也可以在帖子中插入代码,以便用户在阅读您的一篇文章后顺手注册你的网站。

如果要将注册表单添加到侧边栏或网站中的特定位置,则可以通过将模板标签放在所需的位置来修改WordPress主题。 

在我们开始构建注册表插件之前,值得注意的是用户名,密码和邮箱字段是必需的。

编写我们的验证功能时,我们将遵循这个规则。

高级选项

本教程将教你从头开始构建插件,但如果你正在寻找一个快速的插件方案,请尝试Envato Market上的WordPress插件。 还可以使用验证控制来设置各种注册字段。一旦注册完成,电子邮件将被发送到新成员的邮箱。电子邮件模板的内容还可以修改注册,密码更改等。

WordPress Registration Form plugin on Envato Market
Envato市场上的WordPress注册表插件

另一种选择是简单地在Envato工作室下订单。大可从广泛有经验的WordPress插件开发人员中选择合适的人选。然后提出你的需求,让开发者在约定的时间内完成你的插件。

例如,Alisaleem252将替你开发一个定制版的WordPress插件,它将根据你的需求与最新的WordPress版本和WordPress存储库中的其他插件兼容。

你会得到:

  • 自定义小部件,如果需要的话 
  • 自定义简单代码,如果需要的话 
  • 自定义帖子类型,如果需要的话 
  • 可靠的服务 
Custom WordPress Plugin Development
自定义WordPress插件开发

仅需300美元,就能在10天内开放出来。Alisaleem252拥有98%的好评率。那么为什么不尝试他的自定义WordPress插件开发服务!

构建插件

就这样说,让我们开始编写插件。首先是包含插件标题。

接下来,我们创建一个包含注册表单的HTML代码的PHP函数。

注意注册字段被作为变量传递给上述函数?在功能代码中,将会看到以下代码的实例,例如:

(isset($ _POST ['lname'])?$ last_name:null)

三元运算符正在检查全局$_POST数组的内容,以查看表单是否包含某个值。如果它包含一个值,它将填充表单字段的值,以便保存用户重新输入。

注册表格将会持续到你验证用户注册完成。因此,我们将创建一个用户名称验证功能

为了缓解验证的痛苦,我们将使用WordPress的WP_Error类。跟我一起来,编码的验证功能:

  1. 创建函数并将注册字段作为函数参数传递。
  2. 实例化WP_Error类,并将实例变量设置为全局,以便可以在函数的范围之外进行访问。
  3. 记住:我们说的用户名,密码和电子邮件是必需的,不能排除在外。为了执行规则,我们需要检查是否有任何字段是空的。如果为空,我们将错误消息附加到全局WP_Error类。
  4. 我们也检查确认用户名字符数不少于4。
  5. 检查用户名是否已经注册。
  6. 使用WordPress validate_username函数的服务来确保用户名是有效的。
  7. 确保用户输入的密码不少于5个字符。
  8. 检查电子邮件是否是有效的电子邮件。
  9. 检查电子邮件是否已经注册。
  10. 如果网站字段已填写,请检查它是否有效。
  11. 最后,我们遍历WP_Error实例中的错误并显示个别错误。
    我们完成了验证功能的编码。

接下来是complete_registration()处理用户注册的插件函数。
用户注册实际上是由wp_insert_user 接受用户数据的函数完成的。

在complete_registration()上面的函数中,我们使得$reg_errors WP_Error实例和表单域变量是全局的,所以我们可以访问全局范围中的变量。

然后我们检查$reg_errors错误处理实例是否包含任何错误。如果没有发现错误,我们继续填充$userdata数组,并将用户注册详细信息插入到WordPress数据库中,并显示注册完成消息以及指向登录页面的链接。

接下来是custom_registration_function()使用上面创建的所有函数的超级函数。

让我来解释一下custom_registration_function() 函数中的代码  。

首先,我们通过检查是否已经提交,确定表单是否已经提交$_POST['submit']。如果表单已经提交,我们调用registration_validation函数来验证用户提交的表单。

然后,我们清理表单数据并将清理数据设置为一个以表单字段命名的变量。最后,我们称之为complete_registration注册用户。

我们需要调用该registration_form函数来显示注册表单。

还记得我提到过,我们将为注册插件提供简单代码支持吗?以下是短代码支持代码。

在这一点上,我们已经完成了插件的编码。以下是显示注册表格的图像。

请注意,由于CSS样式不同,您可能无法在WordPress的网站上获得完全相同的外观。

插件使用

要在WordPress文章或页面中实现插件,请使用代码[cr_custom_registration]。

要在主题的特定方面实现注册表单,请添加以下模板标签 - 。
可以从本文中的附件获取插件文件。

概要

在本文中,我们展示了创建向WordPress添加自定义注册表单的插件的过程。你还可以进一步扩展注册表单,以包括额外的字段,如用户角色,在线即时通讯帐户,但确保表单字段是一个有效的元数据  wp_insert_user。

如果你有任何问题和建议,请在评论中说出来!

请记住,如果你不想遵循本教程,但想要一个简单的解决方案,那就尝试购买使用 Envato Market上的WordPress注册表单插件吧。

Envato qr branded
关注我们的公众号
Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.