【WordPress】Contact Form 7でURLパラメーターに応じて初期値を変える方法

Contact Form 7のフォームの値をリンクごとに変えたい場合にURLパラメーターを設定して、ラジオボタンの初期値を変える方法を記載いたします。

結論

以下をfunctions.phpに追加する。

function my_form_tag_filter($tag) {
  if (!is_array($tag)) {
    return $tag;
  }

  // ラジオボタンの場合
  if (isset($_GET['selected'])) {
    if ($tag['name'] === 'your-radio') { // nameの値を指定
      // TODO: エラー処理を加えたほうがいい
      $tag['options'][] = 'default:' . $_GET['selected'];

    }
  }

  //チェックボックスの場合
  if (isset($_GET['checked'])) {
    if ($tag['name'] === 'your-checkbox') { // nameの値を指定
      // TODO: エラー処理を加えたほうがいい
      $tag['options'][] = 'default:' . $_GET['checked'];
    }
  }

  return $tag;
}

add_filter('wpcf7_form_tag', 'my_form_tag_filter', 10);

コンタクトフォームを設置しているページURLに ?selected=[数字]&checked=[数字] のようにパラメーターを設定することで初期値を変更できます。

checkboxのチェックを複数設定したい場合は、アンダーバーで区切れば可能です。

?checked=1_2_4 とすると1番目、2番目、4番目の項目にチェックがはいります!

About Me

プロフィール画像

ユーキと申します。北海道恵庭市という札幌と新千歳空港の間でフリーランスのWebエンジニアとして活動してます。

当サイトのブログでは、主にWeb制作全般、フリーランス周りの情報など色々なノウハウや知識を載せています。
その他日々気になったこと、思ったことも書いてます。

お仕事の相談など何かありましたら、お問い合わせかツイッターのDMからお気軽にご連絡くださいませ。

お問い合わせはこちら

ツイッターはこちら

ポートフォリオはこちら

Latest Posts

Popular Posts

TOP