URLをクリックしてお問い合わせをしてきたときに、そのURLに特定の情報をパラメータとして追加して配信したい場合があります。
例えば、いくつかの製品名とサムネイルが表示されておいてお問い合わせリンクをクリックしたときに、その製品の名前を渡すと、連絡するユーザーが製品名を別々に入れる必要がなくなります。 あるいは事前にパラメータの値を埋めていくことができます。
あるいはサービスを紹介してくれる人のIDをURLパラメータとして渡すことも可能になります。 いくつかのサイトやポストから特定のサービスについて紹介をして、関連リンクをクリックしたときにサービスお問い合わせページへ接続すると、その推薦に問い合わせをしているかを管理者が把握できるようになります。
このように、URLを介して時引数を渡すことができればどのようなリンクをクリックして、コンタクトフォームを提出したのかを追跡するのが容易になります。
QuformでURLにパラメータを渡して受信する方法
WordPress コンタクトフォームのプラグインである Quformは、URLを介してパラメータを渡す機能を提供します。 パラメータをテキストフィールド(text field)などに伝達したり、隠しフィールド(hidden field)に渡すことができます。
たとえば、隠しフィールドにパラメータを渡したい場合は、フォーム編集画面で非表示フィールドアイコンをクリックして、新しいフィールドを追加します。
隠しフィールドのアイコンの上にマウスを置くと 見えないベースという文字が表示されます。
追加されたフィールドの右端にある[設定]アイコン(歯車の形のアイコン)をクリックします。
これにより、設定画面が表示されます。 エレメント(フィールド)の名前などのオプションを適切に指定して Rescale データ タブをクリックします。
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&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&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、文のタイトルなどをあらかじめ埋めていくことができます。
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を使用試みることができるようになります。
常に良い情報に感謝します。 quforms textテキストボックスにスマートフォンでテンキーのみ浮かせる法がないでしょう? htmlでは、このテクを入力するだけされquformsでどこ入力をするのかよく分からなくて。;;
こんにちは、ジョンミンホ様。 現在Quformでは、数値フィールドは提供されません。 number input fieldをご希望の場合text input fieldを追加した後、次のようなjQueryのスクリプトを使用して、フィールドのタイプをnumberに変更することができます。
Forms - Settings - Custom CSS&JSに移動し、Custom JavaScriptフィールドに次のコードを追加してください。
jQuery(function ($) {
$('.quform-field-1_3').attr('type', 'number');
});
1_3部分は適切に変更してください。
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ本当にありがとうございます。 単に解決しました。 寄せ WordPress 勉強する本当にジャムね。 デザインだけして年齢を食べながら感が少し落ちてプログラムの方も学んでいるのに勝手にだめ忙しくテデ、どんどん伺い見ている。
解決されたことをうれしく思いですね。 9月最後の日ですね。 一ヶ月よく仕上げし、楽しい一日を過ごしてください。
Quformでテキストフィールドを数値入力フィールドに置き換える方法については、次の記事で個別に説明したので、参考ください:
https://www.thewordcracker.com/intermediate/%ec%9b%8c%eb%93%9c%ed%94%84%eb%a0%88%ec%8a%a4-quform-%ed%94%8c%eb%9f%ac%ea%b7%b8%ec%9d%b8-%ec%88%ab%ec%9e%90-%ec%9e%85%eb%a0%a5-%ed%95%84%eb%93%9c/