【WordPress】MW WP Formを使って前ページで選んだ項目をフォームで自動選択させてみた

MW WP Formには、URLパラメータ(GETパラメータ)を使って遷移前のページの情報を引き継ぐ機能があります。

今回は、フォームのページに遷移する前のページで選んだ項目を、フォームのradioボタンで自動選択させる方法を説明します。

▲自動選択のイメージ

 

URL引数を有効にする

まず、MW WP Formのフォーム作成画面で「URL引数を有効にする」にチェックを入れます。

 

フォームに「店舗」を設置

フォーム作成画面でラジオボタンを設置します。

今回は分かりやすいようにname属性を「店舗」としています。

実際に設定する場合は任意のname属性と選択肢に変更してください。

[mwform_radio name="店舗" children="渋谷店,原宿店,新宿店"]

 

functions.phpに記述

functions.phpに以下のコードを記述します。

function my_mwform_value( $value, $name ) {
if($name === '店舗' && !empty( $_GET['shop']) && !is_array($_GET['shop'])){
return $_GET['shop'];
}
return $value;
}
add_filter('mwform_value_mw-wp-form-****', 'my_mwform_value', 10, 2);

※「****」にはフォーム識別子のkeyを入れてください。

※「店舗」はname属性です。

※「shop」はURLパラメータです。任意の文字列を指定してください。

 

遷移前のページのボタンにリンクを設置

<a href="https://~~.com/contact/?shop=渋谷店">渋谷店</a>
<a href="https://~~.com/contact/?shop=原宿店">原宿店</a>
<a href="https://~~.com/contact/?shop=新宿店">新宿店</a>

 

以上の設定を行うと、自動選択のイメージのように
ボタンクリックでクリックした店舗が選択された状態のお問合せフォームが表示されます。

 

投稿IDから投稿情報を自動入力

今回説明した自動入力は、任意の作成したページから遷移する場合のものでしたが、MW WP Formでは投稿記事からの遷移で投稿情報を自動入力できる機能があります。

たとえば、投稿記事のタイトルを自動で入力する場合は、下記のようにフォームを設置します。

[mwform_text name="タイトル" value="{post_title}"]

この場合、functions.phpに記述したりする必要はありません。

お問い合わせページへ遷移するためのURLに「?post_id=【投稿ID】」というパラメータを追加してあげれば、指定した投稿IDの情報が自動入力されます。

例えばこのような感じです。

<a href="<?php echo home_url(); ?>/contact/?post_id=<?php echo get_the_ID(); ?>">お問い合わせ</a>

取得できる情報

タイトルの他にも下記のような情報を取得できます。

  • {ID}
  • {post_title}
  • {post_author}
  • {post_date}
  • {post_date_gmt}
  • {post_content}
  • {post_excerpt}
  • {post_status}
  • {comment_status}
  • {ping_status}
  • {post_password}
  • {post_name}
  • {to_ping}
  • {pinged}
  • {post_modified}
  • {post_modified_gmt}
  • {post_content_filtered}
  • {post_parent}
  • {guid}
  • {menu_order}
  • {post_type}
  • {post_mime_type}
  • {comment_count}
  • {filter}

また、カスタムフィールドの値を自動入力したい場合は、フィールド名を指定します。

例えば「cf_tel」というフィールド名の値を自動入力したい場合は{cf_tel}となります。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA