MW WP Form URL引数を使って前のページの情報を自動挿入する方法

この記事をシェアする

  • facebook
  • twitter
  • line

こんにちは!フロントエンドのハッシーです。

先日、中古不動産を扱うサイトのWordPress制作をしているとき、クライアントからこんな要望がありました。

物件詳細ページのボタンからお問い合わせページに飛んだ時、フォームの「問い合わせ物件」フィールドに物件名を自動挿入してくれませんか。

ややこしそうだなーと思って調べてみたら、MW WP Form標準の機能で簡単に実装できたので、紹介します。キタジマさん、すごすぎる・・・!

やりかた

1. URL引数を有効化

MW WP Formのフォーム編集画面の下方にある「URL引数を有効にする」にチェックを入れます。

これでプラグイン側でURLパラメーターを取得できるようになりました。
ちなみにチェックを入れないと、引数を取得できないどころかリダイレクトで引数が消えてしまいます。

2. 遷移元のリンクに引数を付与

遷移元ページにある問い合わせへのリンクタグに、post_id引数を付与します。

<a href="<?php the_permalink($post); ?>?post_id=<?php echo $post->ID; ?>">お問い合わせ</a>
//$postにはお問い合わせページのIDを入れてください。

リンク先のURLが http://example.com/contact?post_id=1234 のようになったら成功です。

3. フォーム側を修正

MW WP Formのフォーム編集画面に戻ります。
フォーム側では、以下のようにvalue属性に挿入したいデータを入れます。
今回はタイトルを取得したいので、{post_title}となります。

[mwform_text name="property" size="60" value="{post_title}"]

いかがでしょうか?
遷移元のリンクから飛んで、フォームにタイトルが自動挿入されていれば成功です。

なお、この{ }内はグローバル変数の$postを参照する仕様となっているので、タイトル以外にも投稿日時や投稿本文など様々なデータを参照できます。
例として、タイトル以外にも使えそうなパラメータを紹介します。

パラメータ出力内容
ID投稿ID
post_date投稿日時
post_content投稿内容
post_title投稿タイトル
post_excerpt抜粋
post_type投稿タイプ

以上、「MW WP Formで前のページの情報を自動挿入する方法」でした!

この記事をシェアする

  • facebook
  • twitter
  • line