2017年以前の旧ブログ

BLOG2017

MW WP FormでURL因数を取得する

ダーシノ Other Blog

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引数を有効にする 」にチェックを入れます。

blog1

これで完了です。

ちなみにその下の「画面遷移時のスクロールを有効にする」をクリックすると、確認画面・送信画面に遷移するときにアンカースクロールしてくれますので私は基本チェックを入れてます。

補足

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">