2017年以前の旧ブログ
BLOG2017
MW WP Fromで、投稿の詳細ページ等からお問合わせにリンクする時、例えば商品詳細ページだとすると、お問合わせのフォームに自動で商品名(ページタイトル)を初期値に入力したい。
その方法を色々調べた結果、全部を記載してくれている記事がなかったので、ここにまとめて記載します。
実装のフロー
・詳細ページのURLパラメータに投稿IDを記載
・MW WP Formでvalueに{post_title}設定
詳細ページ(single.php)
お問合わせページへのリンクを以下に設定します。
<a href="<?php bloginfo('url')/contact/?post_id=<?php echo get_the_ID();?>">
URLパラメータに投稿のIDを入れてます。
MW WP From設定
タイトルを入れたいフォームに以下を記載。
[mwform_text name="name" value="{post_title}"]
{post_title}がタイトルになります。
他にも未検証ですが、カスタムフィールドも呼び出せるようです。
例えば、{post_meta}でカスタムフィールド post_metaのデータを取得。
※参考:公式マニュアル
最後にMW WP Fromの設定画面右下(表示設定2列の場合)で「URL引数を有効にする 」にチェックを入れます。
これで完了です。
ちなみにその下の「画面遷移時のスクロールを有効にする」をクリックすると、確認画面・送信画面に遷移するときにアンカースクロールしてくれますので私は基本チェックを入れてます。
補足
single.phpに記載するURLでpost_idという表記から変更したい場合、fuction.phpにフックを追加する事で可能なようです。
参考にさせていただいたブログ「MW WP Formで商品名を自動入力するようにしたよ」
URL因数を保持したまま、リンク先のお問合わせページにアンカーリンクを張りたい場合、投稿ID後ろに#form_area記載で動作します。
form_areaはアンカー先id名。
<a href="<?php bloginfo('url');?>/contact/?post_id=<?php echo get_the_ID(); ?>#form_area">