如何使用 Gravity Forms 插件創建人格評估類型測驗

已發表: 2020-02-25

測驗橫幅 你參加過“你是什麼樣的X”測驗嗎? 我有。

大多數時候,您可以預測結果並對其進行操作。 然而,它同樣有趣。 它基本上是一個非常粗略的性格評估測驗。 答案是多項選擇,並且始終按特定順序顯示。 結果基於您選擇的答案。

因此,假設每個結果有 4 個選擇(a、b、c、d)。 大多數情況下, a表示你是 A 型,大多數情況下b表示你是 B 型,依此類推。 (可選)答案具有權重,您可以根據自己的分數進行評估。 你明白了。

如果您不知道如何在您的 WordPress 或 LearnDash 網站上添加此類測驗,我建議您搜索一個插件。 合適的解決方案實際上取決於您的要求。 但是,如果您想完全控制功能,您最好自己構建或讓專業人員定制

我會立即警告您,這將涉及一些代碼。 不要緊張。 但是,代碼並不可怕。 一旦邏輯到位,編碼就輕而易舉了。

這是我們需要做的:

  1. 獲取Gravity Forms 插件(如果您還沒有)
  2. 創建評估類型測驗
  3. 評估和顯示結果

為什麼是重力形式?

我們將使用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 測驗的 5 個急需的新增功能
  • 為學生提供 LearnDash 測驗問題的額外嘗試
  • LearnDash 測驗報告如何幫助改進您的課程

LearnDash 測驗的 DIY 定制技巧

  • 如何在 LearnDash 中添加測驗問題計時器
  • LearnDash:顯示正確和錯誤測驗答案的消息

這就是今天的全部內容。 請務必嘗試一下,並使用下面的評論部分將您創建的評估測驗的鏈接發送給我!

乾杯!


圖片由 freepik 提供