Jetプラグインを解き明かす

Conditional Logicの使い方-Meta fieldのすごい機能【JetEngine】

カスタムフィールドで、質問を選択するフィールドで答えによって追加の質問フィールドが出せたらなぁ・・・でもそんなコード書けないや。

なんて思っていませんか?

JetEngineのMeta fieldsに必ず付いてしる設定の『Conditional Logic』でNoCodeでも簡単にそのフォーマットが作れてしまいます!

『Conditional Logic』は例えばユーザーに『はい/いいえ』で答えてもらうようなフォームで『はい』を選択した場合は追加質問を表示させ、『いいえ』の場合は質問がそれで終わるなど、ユーザーの回答次第でフォームを分岐させることのできる機能です

JetEngineのことをもっと学びたい人は、どうぞJetEngineの使い方完全ガイドを見てください。
様々なJetEngineに関する情報がまとめられています。

以下はこの記事の要約です。

Conditional Logicとは?

Conditional Logicを使用したフィールドのサンプル・質問のはいの答えに対し追加のフィールドが開く
Conditional Logicの例(質問の答え:はい)
Conditional Logicを使用したフィールドのサンプル・質問のいいえの答えでは特に変化は起きない
Conditional Logicの例(質問の答え:いいえ)

例えばこのように『あなたは大学へ行きましたか?』の質問に対し、『はい』と答えた場合に『どこの大学へ行きましたか?』という追加の質問が表示されました。

しかし『いいえ』と答えた場合は特に追加の質問は表示されませんでした。

このようなフォームが作れるのがConditional Logicです!

上記のConditional Logicを使って作成したフィールドを例に、以下のセクションでその設定方法を説明します。

Conditional Logicの設定の仕方

まずは最初の質問の『あなたは大学へ行きましたか?』のフィールドを作ります。

『あなたは大学へ行きなしたか?』というはい/いいえで答えるフィールドを作成した後のMeta filedエディター

上記はそのMeta field『あなたは大学へ行きましたか?』の作成例です。

  • Label: あなたは大学へ行きましたか?
  • Name/ID: went_university
  • Object types: Field
  • Field type: Radio
    Field Option①:はい
    Field Option②:いいえ

その次に追加の質問となる『どこの大学へ行きましたか?』のフィールドを作成します。

『どこの大学へ行きましたか?』という『あなたは大学へ行きましたか?』に対する追加質問のMeta field

上記はそのMeta field『どこの大学へ行きましたか?』の作成例です。

  • Label: どこの大学へ行きましたか?
  • Name/ID: which_university
  • Object types: Field
  • Field type: Text
  • Conditional Logic: オン
Conditional Logicをオンにした後の『どこの大学へ行きましたか?』のMeta fieldのエディター画面

以下はConditional Logicを『オン』にすると表示されるエディターで、『Field』と『Operator』という設定があります。

Conditional Logicの中の『Field』のリストから『あなたは大学へ行きましたか?』を選択

Fieldは『Select field…』の横の▼をクリックすると上記のような同じ投稿タイプのMeta fieldsで作成した各項目のLabelが表示されます。

そこからConditional Logicで質問を分岐させたいフィールドを選択します。

※このサンプルの場合は『あなたは大学へ行きましたか?』を選択します。

Conditional Logicの『Operator』を『Equal』に設定

Operatorは『Select operator…』をクリックすると以下のリストが表示されます。

このサンプルでは、『あなたは大学へ行きましたか?』の質問の答えが『はい』の1つのリストのみでConditional Logicが作動するのでOperatorで『Equal』を選択します。

Conditonal Logicの『Value』で『はい』を選択

Oparatorを選択すると『Value』の項目が新たに追加されます。

Valueのプレイスホルダーをクリックすると、『あなたは大学へ行きましたか?』のフィールドで作成したField Optionのリストが表示されます。

このValueで『あなたは大学へ行きましたか?』の質問で次の追加質問に移行させたい方の答えを選択します。

このサンプルの場合は追加質問が『どこの大学へ行きましたか?』と、最初の質問の『はい』に対する追加質問なのでValueは『はい』を選択します。

これで完了です!

サンプルで設定したConditional Logicが実際にカスタムフィールドに反映したときの画像『あなたは大学へ行きましたか?』の答えが『はい』の時に追加の質問『どこの大学へ行きましたか?』が開く
Conditional Logicの例(質問の答え:はい)
サンプルで設定したConditional Logicが実際にカスタムフィールドに反映したときの画像・『あなたは大学へ行きましたか?』の答えが『いいえ』だった時に変化が起きない
Conditional Logicの例(質問の答え:いいえ)

これで上記のフィールドは『あなたは大学へ行きましたか?』の質問で『はい』または『いいえ』で答えた後でカスタムフィールドの表示が変わるようになりました!

Equalでは『Value』は1つの項目しか選べません。

もし Equalと同じような設定だけどValueを複数選択したい、という場合はOperatorの設定は『In the list』になります。

Equalの使用例

『Equal』は上記セクションの『Conditional Logicの設定の仕方』をご覧ください。

Not Equalの使用例

『Not Equal』の機能を説明するためのカスタムフィールドのサンプル

例えば上記のように『アレルギーはありますか?』のリストから選択する質問と『リストにない場合はこちらに記入してください。』というテキストで入力するタイプのフィールド両方が最初からあるとします。

ちなみに『アレルギーはありますか?』のリストの中には『いいえ』という項目もあり、正直『いいえ』を選択した場合は『リストにない場合はこちらに記入してください。』というフィールドは不要ですよね。

その場合はOperatorの『Not Equal』が役に立ちます。

『リストにない場合はこちらに記入してください。』のMeta fieldエディター

『リストにない場合はこちらに記入してください。』のMeta fieldのConditional Logicをオンにして以下のように設定します。

  • Field: アレルギーはありますか?
  • Operator: Not Equal
  • Value: いいえ
『アレルギーはありますか?』の質問で『いいえ』を選択した時の実際のカスタムフィールドの表示・『リストにない場合はこちらに記入してください』のフィールドがなくなる。

上記は実際の『アレルギーはありますか?』のカスタムフィールドのリストで『いいえ』を選択した時の表示画面です。

リストが未選択のときにはあった『リストにない場合はこちらに記入してください。』のフィールドが表示されなくなりました。

こちらはあくまでもNot Equalの使用例ですが、上記のように答えが人それぞれ異なる質問などでより正確に情報の幅をも持たせられるフィールドが作れますね!

なお、Not Equalも選択できるValueの数はEqualと同じで1つのみです。

もし、Not Equalと同じようなフィールドで、選択できるValueの数を複数選択したい場合は『Not In the list』を選択します。

In the listの使用例

『In the list』の機能を説明するためのサンプルフィールドの『配送希望先を都道府県から指定してください。』の表示

例えば上記のように『配送希望先を都道府県から指定してください。』という選択式のフィールドがあるとし、その中のいくつかの県は配送不可だとします。

配送不可である県を選ぶと『ご指定の場所には配送できません。』というメッセージ(追加のフィールド)が出せるようにしたいとします。

要するにリストから複数の項目を別の追加フィールドへ分岐させたい時にIn the listを使用します。

『お住まいの地域には配送できません』のMeta fieldエディター

上記は『お住まいの地域には配送できません。』というMeta fieldの項目の設定サンプルです。

  • Label: お住まいの地域には配送できません。
  • Name/ID: not_delivery
  • Field type: Text
  • Default value: お住まいの地域には配送できません。
  • Conditional Logic: オン
    Field: 配送希望先を都道府県から指定してください。
    Operator: In the list
    Value(複数選択): 青森 / 宮崎 / 北海道

これで都道府県のリストから『青森 / 宮崎 / 北海道』を指定したときだけ『お住まいの地域には配送できません。』が追加のカスタムフィールドに表示されるようになります。

『青森 / 宮崎 / 北海道』以外の都道府県を選択した場合は『お住まいの地域には配送できません。』は表示されません。

Not In the list

『Not In the list』は『Not Equal』と同じような仕様で、Conditional LogicのValueが複数選択可能になると考えてください。

くわしい例と説明は割愛させていただきます。

まとめ

Conditional Logicは複雑な設計であるのに、設定してみると思いのほかそんなにむずかしくありませんね。

まず2つの関連する質問のMeta fieldを作成して、追加質問に当たるfieldでConditional Logicをオンにして各種設定をしてください!

そしておそらくみなさんがConditional Logicの設定で少し混乱する部分はOperatorの『Equal / Not Equal / In the list / Not In the list』ではないでしょうか。

その時は以下を基準に覚えると簡単です!

OperatorConditional Logicが作動するリスト数Conditional Logicによる追加フィールドの開閉
Equal1つ開く
Not Equal1つ閉じる
In the list複数開く
Not In the list複数閉じる

JetEngineのConditional Logicは、ユーザーにより異なる答えになる質問を、個々のユーザーに適したフィールドだけを表示していくことができるので、ユーザーにとってとても親切ですし見た目にも無駄がありません。

Jet EngineのConditial Logicでサイトのスペック上げちゃってください!

かっこいいWebサイト制作にぜひ役立ててくださいね。

この記事ではConditional Logicの機能・使い方のみを紹介しましたが、 Conditional LogicはMeta fieldsの設定の一部です。

JetEngine Meta fieldsの機能説明・カスタムフィールドのレイアウトのカスタマイズ』の記事でMeta fields全体の機能を紹介していますので、よかったら参考にしてくださいね!

JetEngineは機能がありすぎるので操作に迷うこともときにはあると思います。

そんなときはJetEngineの使い方完全ガイドをご覧ください!

JetEngineで一体何ができるのか、使い方から構造までを一挙に紹介しています。

きっと答えが見つかるはずですよ!

目次