僕はWordPressでお問い合わせフォームを作成する場合、「MW WP Form」というプラグインを使用しています。
今回はMW WP FormでどのページやSNSから問い合わせがあったのかを判別する方法を解説します。
下記のようなシーンで使うことができます。
- どのページやLPから問い合わせがあったのか把握したい
- どのSNSから問い合わせがあったのか把握したい
これらはMW WP Formの「URL引数」という機能を使って実現できます。
目次
MW WP FormのURL引数を有効にする
MW WP Formのフォーム作成画面で「URL引数を有効にする」にチェックを入れます。
URL引数を有効にすると、お問い合わせページのURLに「post_id」というパラメーターを追加することで、指定したページの情報を取得することが出来ます。
例えばお問い合わせページのURLが「https://hoge.com/contact/」だった場合、URLの末尾に「?post_id=1111」を追加すると、IDが1111のページの情報をフォームで使用できます。
https://hoge.com/contact/?post_id=1111
input要素にページタイトルを挿入する
「post_id」のパラメータで指定したページのタイトルをインプット要素に挿入します。
追加する方法は簡単で、input要素のvalue属性に「{post_title}」を指定するだけです。
[mwform_text name="postname" value="{post_title}"]
hiddenを使用してフォーム内に表示せずに取得することも出来ます。
[mwform_hidden name="postname" value="{post_title}"]
あとは、「自動返信メール設定」や「管理者宛メール設定」の本文に{postname}
を追加するだけです。
遷移元のページタイトルを管理者のみに伝える場合は、「管理者宛メール設定」だけに{postname}
を追加してください。
ページタイトル以外の情報を取得する場合
ちなみにページタイトル以外の情報を取得することも可能です。
よく使いそうなものをピックアップしました。
コード | 取得できる情報 |
---|---|
{ID} | 投稿ID |
{post_author} | 投稿の著者 |
{post_date} | 作成日時 |
{post_content} | 投稿本文 |
{post_title} | 投稿タイトル |
{post_excerpt} | 投稿の抜粋 |
{post_name} | 投稿のスラッグ名 |
{guid} | 投稿のURL |
必要に応じて色々な情報を取得できるのでとても便利ですね。
お問い合わせページへのリンクにパラメータを追加する
お問い合わせページへのリンクにパラメータを追加します。
例えばお問い合わせページのURLが「https://hoge.com/contact/」だった場合、お問い合わせページへのリンクは下記のようになっているはずです。
<a href="https://hoge.com/contact/">
これにMW WP Form用のパラメータを追加すると以下のようになります。
<a href="https://hoge.com/contact/?post_id=1111">
「1111」の部分はリンクを設置しているページのIDに変更してください。
遷移元のSNSを判別する
ここまでの流れでどのページからお問合せがあったのかは判別できるようになりました。
さらに、どのSNSからのお問い合わせか判別できるようにします。
「post_id」で取得できない情報を取得するためにfucntions.phpに以下のコードを追加します。
function my_mwform_value($value, $name) {
if ($name === 'inflow' && !empty($_GET['media']) && !is_array($_GET['media'])) {
return $_GET['media'];
}
return $value;
}
add_filter('mwform_value_mw-wp-form-1111', 'my_mwform_value', 10, 2);
この場合、「media」というパラメータの情報を「inflow」というname属性のinput要素に挿入します。
「media」と「inflow」の部分は任意のテキストに変更して大丈夫です。
「mwform_value_mw-wp-form-1111」の「1111」の部分はフォームIDに変更してください。
input要素に遷移元のSNSを挿入する
MW WP Formの作成画面でメディア用のinput要素を追加します。
[mwform_text name="inflow"]
value属性は必要ありません。
ページタイトルの時と同様、hiddenでもOKです。
[mwform_hidden name="inflow"]
お問い合わせページへのリンクにSNS用のパラメータを追加する
お問い合わせページへのリンクにSNS用のパラメータを追加します。
例えばTwitterからお問い合わせページにリンクを張る場合は、ツイートエリアに以下のURLを記載します。
https://hoge.com/contact/?media=twitter
「twitter」の部分は任意のテキストに変更してOKです。
先に紹介した「post_id」と一緒に使うことも可能です。
https://hoge.com/contact/?post_id=1111&media=twitter
使い所は限られるかもしれませんが、お問い合わせの動線が以下のように明確になっている場合に有効です。
Twitter → ランディングページ(ID 1111) → ランディングページ内のフォームからお問い合わせ
まとめ
今回はMW WP Formで遷移元のページやSNSを判別する方法をご紹介しました。
少しニッチな内容でしたが、もしクライアントからこの様な要望があった場合は参考にしてみてください。
また、この記事を書くにあたり下記の記事を参考にさせていただきました。
何か不明な点などがあればお気軽にコメントください!
最後まで読んでいただきありがとうございました!