あまり、需要がないかもしれませんが、あったので備忘録として書いておきます。
あるサイトでMW WP Formを使ってお問い合わせフォームを作成していたのですが、お問い合わせで入力された内容を読んでみても、何に対するお問い合わせか分からないお問い合わせがありました。お問い合わせしてきた方に聞けばわかるのですが、お問い合わせの前に見ていたページタイトルが分かれば、メールの内容で分からなくても、何に対するお問い合わせかが、予測が付くのではないのかということです。でも、フォームのフォーマットは現状のままにしたい、から管理者宛メールだけに、ページタイトルを表示したいという要望でした。
MW WP Form のURL引数を有効にするを使う
「URL引数を有効にする」を使うと、遷移元のタイトルやメタデータをお問い合わせフォームに渡すことが可能です。下記サイトを参考にしました。
MW WP Formで遷移元のタイトルやメタデータをフォームに渡す方法
まず、MW WP FormをWordPressにインストールして有効化します。その後、メールフォームを作成(詳細な作成方法は割愛します。)したら、右下の方にある [URL引数を有効にする] にチェックを入れてください。
お問い合わせ先ページへのリンク作成
[URL引数を有効にする] にチェックを入れて、フォームを更新したらテーマファイルに、お問い合わせ先へのリンクを作成します。この時、URL引数を取得できるように、コードを作成します。
お問い合わせのリンクアドレスに?post_id=<?php echo $post->ID; ?>
を追加します。これで、お問い合わせリンクの完成です。
管理者宛メールにページタイトルが表示されるように設定
これで、{post_title}
を管理者宛メール設定に記載すれば、管理者宛メールに遷移元のページタイトルが表示されると思い早速やってみると…
管理者宛メールにはまだ、遷移元ページタイトルが表示されていませんorz
なので、hiddenフィールドを使い、一度フォームにページタイトルの値を渡すことにしました。
[フォームタグを追加]の左にある、プルダウンメニューから、[hiddenフィールド] を選択します。
[hiddenフィールド] を作成したら下記のようなコードが挿入されます。
この部分に value="{post_title}"
を追加して、遷移元ページタイトルを値を渡します。
mwform_hidden-** の ** 部分は[hiddenフィールド] 作成時に自動で割り振られます。適時置き換えてください。
管理者宛メールへの設定
ここまでできたら、管理者宛メール設定に先程作成した[hiddenフィールド] のname値を入力します。
これで、管理者宛メールに遷移元のページタイトルが表示されるようになります。
もっとうまい方法があるかも…
なかなかニッチな内容ですが誰かの参考になれば幸いです。