通过重力形式增强形式弹性

2023-12-01 0 162

Gravity Forms 是 Rocketgenius 的一款产品,是 WordPress 的综合表单解决方案。任何开发人员都会告诉您,构建表单有时会非常耗时,尤其是当它需要做的不仅仅是处理消息时。

如果您需要一个表单来根据特定条件将用户注册到您的网站,该怎么办?或者,如果您需要一个允许用户从前端角度将内容发布到您的网站的表单,该怎么办? Gravity Forms 可以做到所有这些,而它无法做到的开箱即用的功能,您可以利用其内置的钩子和过滤器自行构建。

在我讨论 Gravity Forms 如何扩展您的 WordPress 安装之前,请务必注意 Gravity Forms 是一个高级插件。要获得本文中讨论的一些好东西,您至少需要一个重力形式的商业许可证,但是我强烈推荐开发人员许可证,因为它可以为您带来最大的收益。现在我们已经解决了这个问题,让我们看一下 Gravity Forms 扩展 WordPress 网站的几种方法。


扩展用户注册表

可以通过向 functions.php 文件添加代码来向注册表单添加额外的字段,但您可以通过让 Gravity Forms 完成繁重的工作来避免在后台花费太多时间。使用 Gravity Forms 创建用户和分配用户角色非常简单,您只需创建一个表单,将您的字段与 WordPress 默认字段相匹配,然后选择提交时要分配的用户角色。您还可以对同一个表单进行多个“注册”。

重力形式如何扩展用户注册过程的一个例子是条件注册。例如,如果您的会员网站仅允许电子邮件地址为“@xyz.com”和“@abc.com”的用户进行注册,则您可以添加仅创建用户并将其分配给基于角色的注册源。判断他们是否符合该标准,同时不允许其他人注册。

这种条件逻辑远远超出了用户注册的范围,您可以在任何类型的表单中创建条件字段。例如,如果您想根据用户的年龄组向用户显示其他字段,您可以根据用户的响应选择显示(或选择隐藏)其他字段来自定义字段。

通过重力形式增强形式弹性


使用重力形式进行前端内容提交

如果您希望为用户提供更强大的前端,重力表单可以是一个很好的解决方案,它允许用户直接向帖子提交内容。您所需要做的就是创建一个使用内置帖子字段功能的表单。这些帖子字段映射到默认帖子标题、正文内容、摘录、特征图像、类别和标签。 Gravity Forms 还将表单数据映射到自定义字段。要将您的内容映射到自定义字段:

通过重力形式增强形式弹性

没有看到下拉列表中列出的自定义字段?返回您的帖子并创建一个包含自定义字段中的内容的“草稿”并保存。然后返回您的重力表并再次检查。

当 Gravity Forms 与插件 Gravity Forms + 自定义帖子类型结合使用时,该组合通过允许将表单数据映射到自定义帖子类型(因此成为该插件的名称)来提供更多功能。如果您担心安装太多插件 – 并且只需要对自定义分类法的支持 – 您始终可以通过 functions.php 文件挂钩到 Gravity Forms 来手动添加支持。


谈到钩子和过滤器

重力形式附带大量文档。如果你能梦想,你就可能实现它。您可以利用多种挂钩和过滤器,最好的部分是您可以将它们分配给单独的表单。假设您希望允许用户向您的网站提交帖子,但您希望控制其标题长度,您可以创建自定义验证逻辑来​​限制输入的长度。请参阅示例。

add_filter( \’gform_validation_7\’, \’title_size\’ );
function title_size( $validation_result ) {
$form = $validation_result[\”form\”];

// assuming we don\’t want input_3 to be longer than 75 characters.
if ( strlen( $_POST[\’input_3\’] ) > 75 ) {

// set the form validation to false
$validation_result[\”is_valid\”] = false;

// find field with ID we\’re looking for and marking it as failed validation
foreach ( $form[\”fields\”] as &$field ) {

// replace 3 with the field id number you\’re validating
if ( $field[\”id\”] == \”3\” ) {
$field[\”failed_validation\”] = true;
$field[\”validation_message\”] = \”Title is too long.\”;
break;
}
}

}

// change object back to the result
$validation_result[\”form\”] = $form;
return $validation_result;
}
?>

代码的第一部分使用过滤器进行重力形式验证,并创建一个测试相关字段长度的函数。请注意此片段中的数字 7 和 3。 7表示表单ID,3表示正在测试的实际输入ID。

重力形式文档包括可用钩子和过滤器的列表,以及每个钩子和过滤器的详细示例 – 有时您甚至可以看到何时/为何需要它们。


结论

如果您正在寻找一种开箱即用的表单解决方案,其功能不仅仅是发送电子邮件,那么重力表单是一个不错的选择 – 并且可以节省时间。可能性是无限的。对于那些因购买价格而对使用重力形式争论或持观望态度的人来说,它可能看起来很高,但使用重力形式所节省的好处和开发时间是值得的。

以上就是通过重力形式增强形式弹性的详细内容,更多请关注悠久资源其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Wordpress教程 通过重力形式增强形式弹性 https://www.u-9.cn/jiaocheng/wordpress-jiaocheng/16525.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务