WordPress Quform / Gravity FormsからURLにパラメータを渡す方法

Last Updated: 2023 年 07 月 19 日 5のコメント

URLをクリックしてお問い合わせをしてきたときに、そのURLに特定の情報をパラメータとして追加して配信したい場合があります。

例えば、いくつかの製品名とサムネイルが表示されておいてお問い合わせリンクをクリックしたときに、その製品の名前を渡すと、連絡するユーザーが製品名を別々に入れる必要がなくなります。 あるいは事前にパラメータの値を埋めていくことができます。

あるいはサービスを紹介してくれる人のIDをURLパラメータとして渡すことも可能になります。 いくつかのサイトやポストから特定のサービスについて紹介をして、関連リンクをクリックしたときにサービスお問い合わせページへ接続すると、その推薦に問い合わせをしているかを管理者が把握できるようになります。

このように、URLを介して時引数を渡すことができればどのようなリンクをクリックして、コンタクトフォームを提出したのかを追跡するのが容易になります。

QuformでURLにパラメータを渡して受信する方法

WordPress コンタクトフォームのプラグインである Quformは、URLを介してパラメータを渡す機能を提供します。 パラメータをテキストフィールド(text field)などに伝達したり、隠しフィールド(hidden field)に渡すことができます。

たとえば、隠しフィールドにパラメータを渡したい場合は、フォーム編集画面で非表示フィールドアイコンをクリックして、新しいフィールドを追加します。

Quform隠しフィールド

隠しフィールドのアイコンの上にマウスを置くと 見えないベースという文字が表示されます。

追加されたフィールドの右端にある[設定]アイコン(歯車の形のアイコン)をクリックします。

WordPress コンタクトフォーム

これにより、設定画面が表示されます。 エレメント(フィールド)の名前などのオプションを適切に指定して Rescale データ タブをクリックします。

Quform設定画面

Dynamic default value(動的デフォルト)Onに設定して Parameter name(パラメータ名)にURLから渡すパラメータの名前を指定します。

仮に www.example.com/quform/?post_title=POST_TITLE 形式でのパラメトリックを渡すことができます。 二つ以上の転送の場合には、次のような形式を使用します。

http://example.com/?p=1&my_parameter1=Banana&my_parameter2=Apple

フォームを保存し、テストしてみると、URLからパラメータとして渡された値がフォームに送信されます。

次のようなショートコードの形式でパラメータを渡すこともできます。 データが複数ある場合 を使用します。

[iphorm id=1 name="Contact form" values="my_parameter=Banana&my_parameter2=Apple"]

- または -

[iphorm_popup id=1 name="Contact form" values="my_parameter=Banana&my_parameter2=Apple"]클릭[/iphorm_popup]

同じお問い合わせフォームを複数のページに挿入して使用する場合に、この方法を利用すれば便利そうです。

フィルタフック(Filter Hook)もサポートされます。

add_filter('iphorm_element_value_my_parameter', 'my_set_parameter');

function my_set_parameter($value)
{
return '새로운 값'; // 새로운 값 반환
}

動的な値を関数呼び出しに渡すことも可能です。

文字列として値を含むフォームを表示

<?php if (function_exists('iphorm')) echo iphorm(1, 'my_parameter=Banana&amp;my_parameter2=Apple'); ?>

配列に値を格納するフォームを表示

<?php if (function_exists('iphorm')) echo iphorm(1, array(
'my_parameter' => 'Banana',
'my_parameter2' => 'Apple'
)); ?>

文字列として値を含むフォームをポップアップで表示する

<?php if (function_exists('iphorm_popup')) echo iphorm_popup(1, '문의하기', '', 'my_parameter=Banana&amp;my_parameter2=Apple'); ?>

配列に値を格納するフォームをポップアップで表示する

<?php if (function_exists('iphorm_popup')) echo iphorm_popup(1, '문의하기', '', array(
'my_parameter' => 'Banana',
'my_parameter2' => 'Apple'
)); ?>

状況に合わせて様々な応用が可能です。

注 - 投稿のタイトル/ユーザー名/参照URLなどの情報を事前入力する方法

QuformでDataタブでデフォルトでフォームURL、紹介URL、記事ID、文のタイトルなどをあらかじめ埋めていくことができます。

Quform  - 事前提供されるデータ値を事前に詰める

Contact Form 7でURLにパラメータ転送する

ちなみに無料コンタクトフォームのプラグインであるContact Form 7の場合にも、同様の方法でパラメータを渡すことができます。 Contact Form 7 Get and Show Parameter from URLというプラグインをインストールすると、同様の方法で値を伝達することが可能です。

ただし、このプラグインは、4年以上の更新がならなかったので、最新の WordPress バージョンで正常に動作しかは分かりません。 どうしても必要な場合を除き、なるべく古いプラグインは、使用していないことが望ましい。

Gravity FormsからURLにパラメータ転送する

重力フォームを使用している場合でも、 Quformと同様の機能を利用することができます。 詳細については、グラビティフォームのマニュアルを参照ください。

グラビティフォームは機能が多いが重い坪における個人的にはQuformを頻繁に使用する方です。 高度な機能を必要に応じてGravity Formsを使用試みることができるようになります。

メモ:


5のコメント

コメント

  1. 常に良い情報に感謝します。 quforms textテキストボックスにスマートフォンでテンキーのみ浮かせる法がないでしょう? htmlでは、このテクを入力するだけされquformsでどこ入力をするのかよく分からなくて。;;

    応答