【MW WP Form】GETパラメータの値をフォームに埋め込み表示する方法【WordPress】
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、GETパラメータの値をフォームに埋め込み表示する方法をご紹介しています。
「MW WP Form」では、フォームで使用することができる多くのフィールドが用意されています。その中に「hiddenフィールド」というものがあります。「hiddenフィールド」は、設定によって値を設定するだけでなく、出力することができます。それを利用して、GETパラメータを持っていた場合に「hiddenフィールド」にGETの値を設定すると同時にフォームに出力する方法をご紹介していきたいと思います。
では、解説していきます。値をフィールドに設定するフィルターフック
WP WP Formには、値を特定のフィールドに設定することができる「フィルターフック」が用意されています。「mwform_value_mw-wp-form-xxx」という名称になります。詳細は「mwform_value_mw-wp-form-xxx」をご参照ください。
下記は、公式サイトに掲載されている「mwform_value_mw-wp-form-xxx」のサンプルコードになります。
function my_mwform_value($value, $name){ if($name === 'hoge' && !empty($_GET['hoge']) && !is_array($_GET['hoge'])){ return $_GET['hoge']; } return $value; } add_filter('mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2);
上記であれば、フィルターフックに登録するだけでGETパラメータを取得することができそうです。拡張性の高いプラグインを開発してくれた開発者様に感謝ですね!
では、実際にGETパラメータを取得してフォームに表示して埋め込むまでの処理を記述してみましょう。
GETパラメータがあればフォームに値を埋め込み表示する
今回は下記のようなパラメータがついたアクセスがあった場合を想定して処理を記述していきます。
https://into-the-program.com/?id=123456
まずはフォームに「hiddenの値を表示する」にチェックを入れた状態でhiddenフィールドを追加します。追加すると下記のようなショートコードが表示されるかと思います。下記のサンプルでは「name」に「id」という名前を指定していますが、ご自身の環境に合わせて適宜変更してご使用ください。
[mwform_hidden name="id" echo="true"]
続いて「functions.php」にフィルターフックを登録します。下記を追記してファイルを更新します。
function my_mwform_value($value, $name){ if($name === 'id' && !empty($_GET['id']) && !is_array($_GET['id'])){ return $_GET['id']; } return $value; } add_filter('mwform_value_mw-wp-form-xxx', 'my_mwform_value', 10, 2);
ファイルは更新できましたでしょうか。更新できたらフォームのURLに下記のパラメータを付加してアクセスしてみましょう!
?id=123456
「id」の値と「hiddenフィールド」が埋め込まれているかと思います。
最後に
いかがでしたでしょうか。
「MW WP Form」は、カスタマイズ性の高いプラグインです。追加したい機能があれば大体のケースで実現することができる拡張性を持っています。人気のプラグインなので、ネット上にもサンプルがたくさん掲載されているのも良いですよね!これからも多くのサイトで使わせていただこうと思います。
以上、MW WP FormでGETパラメータの値をフォームに埋め込み表示する方法のご紹介でした!