チュートリアル -
コリン・ニューカマー著2023 年 1 月 19 日発行
Gravity Forms の動的人口機能に興味があるが、方法がわからない、あるいはなぜ、それを使うには?
動的な作成により、より効果的でユーザーフレンドリーな WordPress フォームを作成するための多くのオプションが開かれます。
ただし、これは少し高度な機能であるため、最も効果的な使用方法を理解するには少し時間がかかる場合があります。
Gravity Forms の動的ポピュレーションを最大限に活用できるように、この投稿では、Gravity Forms の設定方法を示すだけでなく、Gravity Forms を使用する理由のいくつかについて説明し、どのような場合に使用できるかの例も示します。役立つ。
すでに具体的なユースケースを念頭に置いている場合は、この記事のチュートリアル部分に直接ジャンプするには、このリンクをクリックしてください。
それ以外の場合は、動的な人口とは何か、それを利用できるさまざまな方法、および各アプローチをいつ使用するかの実例をいくつか紹介することから始めます。
次に、サイトでの使用方法を段階的に説明します。
重力が動的集団を形成するとは何ですか?
一言で言えば、Gravity Forms の動的作成を使用すると、フォーム内のフィールドを事前に入力/事前選択できます。
これらは、訪問者に表示される (必要に応じて訪問者が編集できる) フィールドである場合もありますが、自分だけに表示される非表示フィールドである場合もあります。
たとえば、「電子メール」フィールドにユーザーの電子メール アドレスを事前に入力したり、ユーザーがアクセスしたリンクに基づいてリスト内のチェックボックスを事前に選択したりすることができます。
動的なポピュレーションには 2 つの高レベルの利点があります。
フォームを送信するユーザーにとって、摩擦を可能な限り排除することで、より良いユーザー エクスペリエンスを生み出すことができます。ユーザーに同じ作業を繰り返したり、情報を手動で入力したりするのではなく、可能な限りフォームを事前入力/事前選択することができます。
WordPress 管理者にとって、より最適化されたワークフローを作成できるようになります。たとえば、1 つの基本フォームから、営業担当者のチーム全体用の問い合わせフォームを簡単に作成できます。または、動的に入力される非表示フィールドを使用して、管理者のみに表示されるフォームに役立つバックエンド情報を追加することもできます。
動的ポピュレーションを使用する必要があるのはどのような場合ですか?
動的ポピュレーションのすべてのユースケースをリストすることは不可能ですが、それが役立ついくつかの高レベルの状況について説明することはできます。
バックエンド情報を追加してワークフローを改善し、フォームを差別化する
まず、動的な入力は、バックエンド情報をフォームに追加してワークフローを改善し、異なるフォームを区別するのに役立ちます。
これは、非表示フィールドを使用して行うことができます。
たとえば、たくさんのイベントを開催するとします。ユーザーが各イベントに登録できるようにするには、個別のイベント ページごとにイベント登録フォームを含める必要があります。
1 つのオプションは、イベントごとに独自のフォームを作成することです。ただし、さまざまなフォームを管理する必要があるため、これはすぐに複雑になります。
代わりに、フォームを 1 つ作成し、動的作成を使用して正しいイベント名を追加することもできます。
したがって、ユーザーが「GravityNY」イベント ページでフォームを送信すると、イベントは「GravityNY」として表示されます。しかし、ユーザーが同じフォームを「GravityUK」イベント ページに送信すると、イベントは「GravityUK」として表示されます。
ランディング ページでも同様のことを実行して、どのランディング ページが最も売上を伸ばしているかを追跡することができます。
または、動的な作成を使用して、ユーザーの行動がフォームにどのように結びついているかを追跡することもできます。たとえば、ユーザーが持つ特定のブラウザー Cookie に基づいて、公開フィールドまたは非表示フィールドに特定の情報を事前に入力できます。
摩擦を軽減するための事前充填情報
動的な入力は、フォームに情報を事前に入力することで摩擦を軽減するのにも役立ちます。
たとえば、ユーザーの電子メール アドレスをすでに持っている場合、再入力を求める必要はありません。代わりに、動的な入力を使用して、電子メール フィールドにユーザーの電子メール アドレスを事前に入力することもできます。
ユーザーが WordPress にログインしている場合は、フォームにユーザーの情報を事前に入力することもできます。
現在の日付を入力するなど、ユーザー以外の情報を事前に入力することもできます。
あるいは、必要に応じてユーザーにフィールドを調整させながら、ユーザーを正しい方向に誘導することもできます。たとえば、複数の販売エージェントがいて、ユーザーがドロップダウンを使用してどのエージェントにメッセージを送信するかを選択できるようにしたいとします。エクスペリエンスを向上させるために、ユーザーがフォームにアクセスしたページに基づいてエージェントを事前に選択できます。
たとえば、ユーザーが「Jon Brown」のエージェント一覧ページからフォームにアクセスした場合、ドロップダウンで Jon Brown が事前に選択されます (同時に、ユーザーが別のメッセージを送信したい場合はドロップダウンを編集できます)エージェント)。
4 つの異なる重力方法がダイナミックな集団を形成
Gravity Forms には、合計で 4 つの異なる動的人口オプションが用意されています。各アプローチにはいくつかの類似点がありますが、使用例はフォームにとってどれが最も合理的であるかを判断するのに役立ちます。
以下に簡単なリストを示します。以下で詳しく説明します。
- クエリ文字列
- ショートコード
- ブロック
- 針
クエリ文字列の動的作成を使用する場合
クエリ文字列は、ページの URL の末尾に追加する小さなコードです。これらは Gravity Forms に固有のものではありませんが、Gravity Forms はそれらを使用してフィールドに動的にデータを入力することをサポートしています。
以下に例を示します。
https://siteurl.com/form-url/?your_parameter_name=value
この場合、クエリ文字列は疑問符で始まります。?your_parameter=値
引き続きベース URL が表示されます –https://siteurl.com/form-url/
ただし、クエリ文字列を追加すると、URL とともに追加情報を渡すことができます。
以下に例を示します。
この方法は、ユーザーがクリックしたリンクに基づいてフォームに動的にデータを入力する場合に特に役立ちます。
ただし、クエリ パラメーターを使用してフィールドに値を設定する場合の欠点の 1 つは、フィールド値が URL に表示されてしまうことです。このため、ユーザーがクエリ パラメーターを含む URL を誤って共有した場合に問題が発生する可能性がある情報に対しては、このアプローチを使用しないでください。
ショートコードの動的作成を使用する場合
通常の Gravity Forms 埋め込みショートコードを使用して動的な人口を設定することもできます。
動的な入力のショートコード方法は、フィールドが埋め込まれている投稿に基づいてフィールドの値を変更する場合に特に役立ちます。投稿ごとに個別のフォームを作成する必要がなく、単一のフォームを作成するだけで使用できます。動的な作成により、フォームが埋め込まれている投稿に基づいて自動的に調整されます。
さまざまなイベントに使用するイベント登録フォームを作成する上記の例は、ショートコード方式に適しています。
ショートコードの動的入力は、ショートコードを使用して 2 番目のフォームに最初のフォームの情報を事前に入力できるため、2 つのフォームを連結するときにも役立ちます。
ブロック動的作成を使用する場合
ブロックの動的作成は、上記のショートコード方法とほぼ同じように機能します。唯一の違いは、ショートコードではなく Gravity Forms ブロックとブロック設定から作業していることです。
そのため、ブロック手法にはショートコード手法と同じ利点と使用例があります。実際には、どのインターフェイスを使用するかによって異なります。
ただし、ショートコード方式は、いくつかの特定の領域でより汎用性が高く、特に 2 つのフォームを連結する場合に顕著です。
フックの動的作成を使用する場合
最後に、PHP を使用して、gform_field_value_[parameter] フィルターを使用してフォームに動的にデータを入力することもできます。
これにより、任意の PHP 関数の結果をフィールドに動的に入力できます。
任意の PHP 関数を使用できるため、この方法の主な利点は、柔軟性が最も高いことです。
必要に応じて、WordPress サイトの他の部分からデータを簡単に取り込むことができます。または、他の方法で PHP 関数を使用することもできます。
この方法の柔軟性を理解していただくために、この方法を使用してフィールド データを入力する方法の例をいくつか示します。
- ブラウザクッキー– ブラウザの Cookie からのデータを使用してフィールドに値を入力できます。
- 現在の日付/時刻– 次のようなものを使用して、現在の日付または時刻を入力できます。date_i18n 関数。
- 前回の値– ユーザーが以前に送信したフォームのフィールドの値をフォームに入力できます。
- 投稿者– フォームが埋め込まれている投稿から作成者の電子メール アドレスを動的に入力できます。
- カスタムフィールド– Advanced Custom Fields、Toolset、Pod などのプラグインを使用して追加したカスタム フィールドの値をフィールドに動的に入力できます。
これは決して完全なリストではありません。実装するための PHP の知識がある限り、やりたいことはほとんど何でもできます。
そしてそれがこの方法の主な欠点です...
フックの使用は動的な作成に最も柔軟な方法ですが、使用するには少なくとも PHP の実用的な知識が必要なため、最も技術的な方法でもあります。
重力フォームの動的人口を設定する方法
動的ポピュレーションのさまざまな方法と、各方法をいつ使用する必要があるか、またその理由を理解したところで、各方法の使用方法についてのステップバイステップのガイドに進みましょう。
ただし、最初に、どの方法を使用する場合でも、フィールドへの動的入力を開始する前に、フィールドの設定で動的入力を有効にする必要があります。
これを行う方法は次のとおりです。
- 動的作成を追加するフォームのエディターを開きます。
- データを入力する特定のフォーム フィールドの設定を開きます。
- チェックボックスをオンにすると、フィールドに動的に入力できるようにする。
- フィールドに一意のパラメータ名を付けます。これは、以下のすべての動的作成方法を使用してフィールドをターゲットにする方法です。名前の競合を避けるために、一意のプレフィックスを追加することをお勧めします。たとえば、を使用する代わりに、エージェント名、 使用at_agent_name。
- 変更を保存します。
たとえば、以下のようにフィールドの設定を構成する場合、次のパラメータ名を使用してフィールドをターゲットにします。at_event_name。
注記– フィールドを非表示にしたい場合は、その可視性を必ず に設定してください。隠れたそしてないに管理的。管理フィールドはフォーム送信の一部ではないため、このように動的に入力することはできません。非表示フィールドにデータを入力することができ、フォームを送信するユーザーから動的にデータが入力されたフィールドを非表示にするという同じ目的を達成できます。
必要なフィールドで動的作成を有効にしたら、以下のチュートリアルを使用して、動的作成の好みの方法を実装できます。
クエリ文字列メソッドのチュートリアル
クエリ文字列の動的作成を使用するには、特別な URL 形式を作成します。
その後、サイトからこの URL にリンクしたり、顧客と直接共有したりできます。あるいは、ユーザーがフォームを送信した後にこの URL にリダイレクトすることで、複数のフォームを連結することもできます。
繰り返しになりますが、基本的な形式は次のようになります。
https://siteurl.com/form-url/?your_parameter_name=value
カスタマイズする方法は次のとおりです。
- 変化あなたのパラメータ名フィールドの動的入力を有効にしたときに設定した実際のパラメータ名に変更します。
- 変化価値そのフィールドに入力するデータに追加します。
1 つ注意が必要なのは、スペースや記号などの記号をエンコードする必要があることです。これを行う最も簡単な方法は、この URL エンコーダなどの無料ツール。
たとえば、フィールドに次のパラメータを事前に入力するには、at_agent_name「James Bond」の値を使用して、次のように URL を作成します。
https://siteurl.com/form-url/?sa_agent_name=James%20Bond
上の例では、「James」と「Bond」の間のスペースは「%20」を使用してエンコードされています。
複数のフィールドを事前に入力する場合は、アンパサンドを使用して各パラメータ=値のペアを区切ることができます。例えば:
https://siteurl.com/form-url/?sa_agent_name=James%20Bond&sa_parameter_2=value2
ユーザーがこの URL にアクセスしたときのフロントエンド フォームは次のようになります。クエリ文字列なしで:
クエリ文字列は次のようになります。エージェント名のドロップダウンには「James Bond」が事前に入力されていることがわかります。
ショートコードパラメータメソッドのチュートリアル
Gravity Forms 埋め込みショートコードで動的人口を使用するには、フィールド値パラメータ。
まず、入力するフォームの基本的な埋め込みショートコードを取得します。
ショートコードの見つけ方がわからない場合は、Gravity Forms ショートコードの完全ガイドをご覧ください。。
ショートコードを取得したら、1 つ以上のペアを追加できます。パラメータ名=値にフィールド値パラメータ。
たとえば、フィールドに次のパラメータを入力するとします。at_event_name「私の素晴らしいイベント」というテキストが付いています。
埋め込みショートコードは次のようになります。
[gravityform id="1" field_values="sa_event_name=私の素晴らしいイベント"]
フロントエンドでは、フォームが読み込まれるときにイベント フィールドが事前に入力されていることがわかります。
複数のフィールドに動的に値を入力したい場合は、次のように各ペアをアンパサンドで区切ります。
[gravityform id="1" field_values="sa_event_name=私の素晴らしいイベント¶meter_name2=value2"]
ブロック設定方法チュートリアル
Gravity Forms 埋め込みブロックで動的作成を使用するには、WordPress エディターのブロック設定サイドバーから完全に作業できます。
まず、Gravity Forms ブロックを追加し、埋め込みたいフォームを選択します (まだ行っていない場合)。
次に、高度なブロック設定のタブ。という名前のフィールドが表示されるはずです。フィールド値。
このフィールド内には、上記のショートコード メソッドの場合と同様に、パラメーターと値のペアを追加できます。
構文は同じです。唯一の違いは、引用符で囲む必要がないことです。
上記のショートコード チュートリアルと同じ構成を追加すると、次のようになります。エディターを離れることなく、動的な人口をプレビューすることもできます。
繰り返しますが、複数のフィールドに値を入力する場合は、それらをアンパサンドで区切ることができます。
PHP フックメソッドのチュートリアル
前に述べたように、動的ポピュレーションの PHP フック方法は最も柔軟ですが、少なくともある程度の PHP の知識が必要となるため、最も複雑でもあります。
PHP の操作に不安がある場合は、前述の方法のいずれかを使用することをお勧めします (または開発者に問い合わせて支援を求めること)。
この方法を使用するには、次のものに依存しますgform_field_value_$parameter_name フィルターここで、$parameter_name は、Gravity Forms フィールド設定の実際のパラメーター名です。
たとえば、パラメータ名を次のように設定すると、at_agent_name、フィルターは次のようになります。
add_filter( 'gform_field_value_sa_agent_name', 'your_function_name' );
その後、そのフィールドに入力する値を返すように関数をカスタマイズできます。
ここではいくつかの例を示します…
「sa_event」というパラメータ名を使用してフィールドにテキスト文字列を入力します。
add_filter( 'gform_field_value_sa_event', 'gf_event_name' );
関数 gf_event_name( $value ) {
'GravityNY' を返します。
}
動的に更新された現在の値を「sa_date」というパラメータ名でフィールドに入力します。
add_filter( 'gform_field_value_sa_date', 'populate_current_date' );
function Populate_current_date( $value ) {
$local_timestamp = GFCommon::get_local_timestamp( time() );
return date_i18n( 'm/d/Y', $local_timestamp, true );
}
「sa_interests」というパラメータ名を持つフィールドで複数のチェックボックスを事前に選択します。
add_filter( 'gform_field_value_sa_interests', 'pre_check_interests' );
関数 pre_check_interests( $value ) {
「本、映画」を返します。
}
このメソッドのコードをどこに配置すればよいでしょうか?まあ、いくつかの選択肢があります…
- に追加します関数.phpアクティブなテーマのファイル (親テーマを更新するときに上書きされないように、必ず子テーマを使用してください。)。
- 次のようなスニペット マネージャー プラグインを使用します。コードのスニペット。
- コード スニペット用のカスタム プラグインを作成します。
重力が動的集団を形成するのは機能しませんか?
Gravity Forms の動的ポピュレーションが機能しないという問題が発生している場合は、次の点を確認してください。
まず、サイトのキャッシュを確認します。動的な入力は PHP を使用して行われるため、フォームが埋め込まれているページをキャッシュしないようにする必要があります。
ほとんどのキャッシュ ツールでは、キャッシュ プラグインであろうとサーバー レベルのソリューションであろうと、個々のページをキャッシュから手動で除外できます。
次に、フォーム エディターのフィールド設定で、フィールドに動的に値が入力されるオプションが有効になっていることを確認します。またまた、あなたしなければならないフィールド上で動的な移植を機能させるには、この設定を手動で有効にします。
さらに、フィールドの設定に入力したパラメータ名を正確に使用する必要があります。
アドオンを使用して Gravity フォームの動的人口を拡張する
この記事では、コアの Gravity Forms プラグイン内で動的作成を使用する方法に焦点を当てました。
ただし、さまざまな方法で動的な人口を操作するのに役立つ Gravity Forms アドオンを見つけることもできます。
例えば、Gravity Forms 認定の Gravity Wiz の Populate Anything アドオン両方のフィールドに値を入力できます選択肢そしてフィールド価値観WordPress データ、Gravity Forms エントリ、Google スプレッドシート、外部データベースなどのさまざまなデータを使用します。
同様に、使用している場合は、重力流にカスタムワークフローを構築する、動的作成を使用して、ワークフローの担当者を指定できます。
重力による動的人口形成を今すぐ始めましょう
Gravity Forms の動的ポピュレーションの使用方法を理解すると、ニーズに合わせて Gravity Forms をより適切に使用し、新たな潜在的なユースケースを引き出すことができます。
バックエンドのワークフローを合理化し、訪問者にとってより最適化されたエクスペリエンスを作成し、一般に Gravity Forms からさらに多くの価値を得ることができます。
最も簡単に始める方法は、コード不要の動的作成方法 (ショートコード、ブロック、クエリ文字列) の 1 つを試すことです。
上級ユーザーや開発者は、PHP フックを使用して究極の柔軟性を実現することもできます。
動的作成は Gravity Forms のコア機能であるため、どのライセンスでもアクセスできます。 Gravity Forms ライセンスをまだお持ちでない場合は、今すぐライセンスを購入して始めましょう。
または、次のこともできます完全に機能する無料のデモ サイトを立ち上げる動的な人口を自分でテストしてみましょう!
ブログで起こっていることの最新情報を入手したい場合は、Gravity Forms ニュースレターにサインアップしてください。