GravityFormsプラグインを使用して性格評価タイプのクイズを作成する方法
公開: 2020-02-25「あなたはどんなXですか」クイズに答えましたか? 私は持っている。
ほとんどの場合、結果を予測して操作することができます。 それにもかかわらず、それは同じように楽しいです。 基本的には非常に粗雑な性格評価クイズです。 答えは複数選択であり、常に特定の順序で表示されます。 結果は、選択した回答に基づいています。
したがって、各結果(a、b、c、d)には4つの選択肢があるとします。 ほとんどの場合、aはあなたがタイプAであることを意味し、ほとんどの場合bはあなたがタイプBであることを意味します。 オプションで、回答には重みがあり、スコアに基づいて評価します。 あなたはその考えを理解します。
WordPressまたはLearnDashWebサイトにこのようなクイズを追加する方法がわからない場合は、プラグインを検索することをお勧めします。 適切なソリューションは、実際には要件によって異なります。 ただし、機能を完全に制御したい場合は、自分で作成するか、専門家がカスタム作成することをお勧めします。
コードが含まれることをすぐに警告します。 ストレスをかけないでください。 しかし、コードは怖いものではありません。 ロジックを配置したら、コーディングは簡単です。
これが私たちがする必要があることです:
- Gravity Formsプラグインを入手します(まだ持っていない場合)
- 評価タイプのクイズを作成する
- 結果の評価と表示
なぜ重力フォームなのか?
クイズのベースとしてGravityFormsプラグインを使用します。 Gravity Formsプラグインを選択した理由は、それが労力を大幅に削減するためです。
ご覧のとおり、必要な機能はすぐに利用できます。 ラジオボタンを追加したり、質問をセクション間で簡単に分割してマルチパートフォームを作成したりするオプションがあります。 (これは、実際にフォームを作成するときに明らかになります)。
結果を非表示フィールドに保存するオプション、テーマに応じてフォームのスタイルを設定するオプション、フォーム送信時に通知を送信できるようにするオプション、および使用可能なフックを使用して値を処理するオプションがあります。
あなたは基本的にあなたの仕事を切り取っています。
ノート: LearnDash Webサイトでこのようなことを達成しようとしている場合は、知っておくべき回避策があります。 LearnDashのデフォルトの多肢選択式クイズの質問タイプでは、質問表を作成できます。 質問の準備ができたら、オプションに重み、ポイント、またはスコアを割り当てて、適切な評価を表示することができます。 この方法を使用する場合は、GravityFormsプラグインを使用する必要はありません。 |
クイズを作成する方法は?
基本的にクイズを作成するので、重力フォームにクイズアドオンを使用するかどうか疑問に思われる方もいらっしゃるかもしれません。 このアドオンは役に立たないため、使用しません。 このアドオンは、試験タイプのクイズの作成に重点を置いており、微調整するのではなく、独自のソリューションを作成することをお勧めします。
次に進みます。
作成するクイズごとに、新しいフォームを作成する必要があります。 例として、 「どのスーパーヒーローがあなたですか」クイズを作成したいとします。
ステップ1:新しいフォームを作成し、「どのスーパーヒーローがあなたですか」という名前を付ける必要があります。
ステップ2:各質問は「ラジオボタン」フィールドとして追加する必要があります。 フィールド名として質問を追加し、可能な回答としてオプションを追加します。
ステップ3:各回答に重みを割り当てるには、フィールドの[値を表示]チェックボックスをオンにして、値を追加します。
ステップ4:すべての質問に回答する必要がある場合は、各質問を必須フィールドにします。
ステップ5:フォームの表示をフォーマットするには、マルチパートフォームを作成し、すべてのセクションに質問を追加することを選択できます。 このためには、すべての質問の後に「ページ分割」フィールドを追加する必要があります。
ステップ6:結果を保存するために非表示フィールドも使用します。 これは、フォームに入力された後、通知が送信される前に使用されます。 最後のセクションのフォームの最後にこのフィールドを追加します。
フィールドを配置したら、フォームを保存します。 フォームとフィールドIDに注意してください。コードでこれらが必要になります。
結果を評価して表示する方法は?
今、私たちは要点に到達しました。 入力を評価し、対応する結果を表示する必要があります。 このために、 ' gform_pre_submission'フックを使用する必要があります。 このフックを使用すると、フォームエントリが保存される前に、結果の集計を計算し、非表示フィールドの値を更新できます。
5つの質問を追加し、6番目のフィールドが非表示フィールドであると考えてみましょう。 各フィールドに値を割り当てたため、選択したすべてのフィールドの合計を計算し、合計に基づいて結果を表示する必要があります。 $ _POST変数では、各フィールドのキーはinput_ {field_id}になります。 たとえば、フィールドID 4の場合、値は$ _POST [“ input_4”];になります。
add_filter( "gform_pre_submission_3" 、 "wdm_evaluate_results" ); 関数wdm_evaluate_results ($ form) {{ $ total = 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およびLearnDashWebサイトの所有者です。 あなたがその一人なら、ここにあなたが興味を持つかもしれない何かがあります。
「LearnDashクイズのカスタマイズ」に関する詳細情報
LearnDashクイズのDIYカスタマイズのコツ
|
それが今日のすべてです。 ぜひ試してみて、下のコメントセクションを使用して作成した評価クイズのリンクを送ってください。
乾杯!
freepikによる画像