【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パラメータの値をフォームに埋め込み表示する方法のご紹介でした!

Adobe Creative Cloudを通常価格で購入していませんか?

Adobe Creative Cloud(Adobe CC)はAdobe社が提供するクリエイター向けのサービスです。WEB制作の幅を広げる「Photoshop・Illustrator・XD」Youtuberや動画クリエイターの編集作業に欠かせない「Premiere Pro・After Effects」など全20以上のアプリが提供されており、幅広いプランが用意されています。

コンプリートプランはAdobe CCの全20以上のアプリが使用できるプランです。多くのアプリが使用できるため定価で購入すると年間7万円以上するプランですが、デジタルハリウッドのAdobeマスター講座では「基礎動画教材+Adobe CC コンプリートプラン(12ヵ月)」がセットになって39,980円(税込)で利用できます。定価より安価にAdobe Creative Cloudのライセンスを購入でき、以降のライセンス更新も可能。動画教材で基礎スキルを習得できるので、入門する方にも便利な講座です。詳しくは下記のリンクからチェックしてみてくださいね。

Adobeマスター講座はこちら

おすすめの書籍