MW WP Form で投稿の情報をフォームの値に自動入力させる

【この記事を読む前に】

「MW WP Form はもうクローズする方向だ」ということが開発者様から発表されています。

この記事の内容のような MW WP Form と同じようなことができる機能をつけるプラグインやコードを追加するのが現時点では難しいといった場合は参考にして欲しいのですが、別のプラグインに切り替えることも検討してみてください。

【制作会社向け】MW WP Formが終了!切り替えにベストなプラグインと検証 | ワープレドウジョウ

MW WP Form ではリンク元の投稿のタイトルやカスタムフィールドの値などをフォームに自動入力表示させることができます。

商品の問い合わせやイベントの申し込みなどの場合、内容をいちいち入力する手間が省けますしどの商品・イベントなのかを間違えずに送信できるといったメリットがあります。

とても便利なフォームの値に投稿の情報を自動入力する機能の作り方についてのメモです。

プラグインのフォーム編集画面の「設定」のところにある「URL引数を有効にする」にチェックを入れて保存します。

投稿の情報を取得するためにリンク元のURLに post_id パラメーターを付けます。

<-- 直接idを入力 -->
<a href="https://securavita.net/contact/?post_id=100">問い合わせ</a>
<-- 動的にidを出力 -->
<a href="<?php echo esc_url(home_url( '/contact/?post_id='.get_the_ID())); ?>">この内容に関するお問い合わせ</a>

取得できる内容は $post に入っているものです。タイトルや本文、日付や投稿者など様々な情報を取得することができます。またカスタムフィールドの情報も取得できます。

フォームタグを追加する際に、value に取得したいプロパティを「{}」の中に記述します。以下のコードは投稿のタイトルをフォームに入れる場合の記述です。

[mwform_text name="name" value="{post_title}"]

カスタムフィールドの場合はキー名を指定します。

[mwform_text name="name" value="{field_key}"]

この設定で、リンク元のカスタムフィールドの値がフォームに入ります。

入力手間を省かせるためやお問い合わせ内容の間違いがないように設定することが多いかもしれませんが、運営側がどのページからの問い合わせなのかを知りたいだけの場合、hiddenフィールドを使って入力欄には表示させずに送信する書き方もあります。

[mwform_hidden name="name" value="{post_title}"]

【PR】

プログラミング言語の人気オンラインコース

カテゴリー : WordPress

TOPへ