当前位置:首页站长学院WordPress通过重力形式增强形式弹性
企业营销,就选知企PROSAAS

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

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。

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


结论

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

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

温馨提示:

文章标题:通过重力形式增强形式弹性

文章链接:https://ceshi.prosaas.cn/5596.html

更新时间:2023年09月01日

声明: 本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:973664285@qq.com我们将第一时间处理! 资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。 所有资源仅限于参考和学习,版权归原作者所有,更多请阅读知企PROSAAS协议

给TA打赏
共{{data.count}}人
人已打赏
WordPress

从 Ionic 开始:探索 JavaScript 组件

2023-9-1 15:25:01

WordPress

加强 WordPress 安全性,第 1 部分

2023-9-1 16:17:05

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索