如何使用 Gravity Forms 插件创建人格评估类型测验
已发表: 2020-02-25你参加过“你是什么样的X”测验吗? 我有。
大多数时候,您可以预测结果并对其进行操作。 然而,它同样有趣。 它基本上是一个非常粗略的性格评估测验。 答案是多项选择,并且始终按特定顺序显示。 结果基于您选择的答案。
因此,假设每个结果有 4 个选择(a、b、c、d)。 大多数情况下, a表示你是 A 型,大多数情况下b表示你是 B 型,依此类推。 (可选)答案具有权重,您可以根据自己的分数进行评估。 你明白了。
如果您不知道如何在您的 WordPress 或 LearnDash 网站上添加此类测验,我建议您搜索一个插件。 合适的解决方案实际上取决于您的要求。 但是,如果您想完全控制功能,您最好自己构建或让专业人员定制。
我会立即警告您,这将涉及一些代码。 不要紧张。 但是,代码并不可怕。 一旦逻辑到位,编码就轻而易举了。
这是我们需要做的:
- 获取Gravity Forms 插件(如果您还没有)
- 创建评估类型测验
- 评估和显示结果
为什么是重力形式?
我们将使用Gravity Forms插件作为测验的基础。 我们选择 Gravity Forms 插件的原因是它减少了很多工作量!
你看,你需要的功能是现成的。 您可以选择添加单选按钮,也可以轻松地将问题拆分为多个部分以创建多部分表单。 (这在我们实际创建表单时会很清楚)。
您可以选择将结果存储在隐藏字段中,根据主题设置表单样式,允许在提交表单时发送通知,以及使用可用挂钩处理值的选项。
你基本上已经被裁掉了。
笔记: 如果您想在LearnDash网站上实现类似的目标,那么您应该了解一种解决方法。 LearnDash 中的默认多项选择测验问题类型将允许您创建问卷。 准备好问题后,您可以为选项分配权重、分数或分数,并显示合适的评估。 如果您选择继续使用此方法,则根本不需要使用 Gravity Forms 插件。 |
如何创建测验?
由于我们本质上将创建一个测验,你们中的一些人可能想知道我们是否会使用重力形式的测验插件。 我们不会使用这个插件,因为它对我们没有帮助。 这个插件专注于创建考试类型的测验,而不是调整它,我们最好创建自己的解决方案。
继续。
对于我们创建的每个测验,我们都必须创建一个新表格。 例如,假设我们想要创建一个“你是哪个超级英雄”的测验。
第 1 步:我们必须创建一个新表单并将其命名为“你是哪个超级英雄”。
第 2 步:每个问题都必须添加为“单选按钮”字段。 添加问题作为字段名称,并添加选项作为可能的答案。
第 3 步:要为每个答案分配权重,请选中该字段的“显示值”复选框,然后添加值。
第 4 步:如果必须回答每个问题,请将每个问题都设为必填字段。
第5步:要格式化表格的显示,您可以选择创建一个多部分表格,并在每个部分添加一个问题。 为此,您需要在每个问题后添加一个“分页符”字段。
第 6 步:我们还将使用隐藏字段来存储结果。 这将在填写表格后但在发送通知之前使用。 在最后一部分的表单末尾添加此字段。
设置好字段后,保存表单。 注意表单和字段 ID,我们将在我们的代码中需要这些。
如何评估和显示结果?
现在,我们来到了重点。 我们必须评估输入并显示相应的结果。 为此,我们需要使用“ gform_pre_submission”钩子。 使用这个钩子,我们可以在保存表单条目之前计算结果的聚合并更新隐藏字段的值。
假设您添加了 5 个问题,第六个字段是隐藏字段。 由于我们为每个字段分配了一个值,因此我们必须计算所有选定字段的总数并根据总数显示结果。 在 $_POST 变量中,每个字段的键是input_{field_id}。 例如,对于 id 为 4 的字段,其值为 $_POST[“input_4”];
add_filter( “gform_pre_submission_3” , “wdm_evaluate_results” ); 函数wdm_evaluate_results ($form) { $总计= 0 ; // 添加选定结果的值 $total + = $_POST[ "input_1" ] ; $total + = $_POST[ "input_2" ] ; $total + = $_POST[ "input_3" ] ; $total + = $_POST[ "input_4" ] ; $total + = $_POST[ "input_5" ]; // 设置隐藏字段的值 $_POST[ "input_6" ] = $total; }
现在我们有了结果,我们可以使用表单的确认通知设置并使用一些条件逻辑来显示一条消息。
继续我们的示例,如果您的分数小于 30,则假设您是“蝙蝠侠”。在这种情况下,您必须添加一个确认信息,该确认信息仅在隐藏字段的值小于 30 时才会显示。
你准备好了! 您有自己的个人评估测验。
包起来
我们大多数一直希望升级其网站的测验模块的客户主要是 LMS 和 LearnDash 网站所有者。 如果您是其中之一,那么您可能会感兴趣。
进一步阅读“LearnDash 测验自定义”
LearnDash 测验的 DIY 定制技巧
|
这就是今天的全部内容。 请务必尝试一下,并使用下面的评论部分将您创建的评估测验的链接发送给我!
干杯!
图片由 freepik 提供