プラグイン

投稿日:2024年4月3日 更新日:

項目選択肢の値をフォームに渡す/contactform7

項目選択肢の値をフォームに渡す/コンタクトフォーム7

やりたいこと

ページ内に設置した選択肢の値を問い合わせフォームに渡したい

ページの表記

<form action="https://ikkatsu-factoring.com/contact" method="post" name="form1">
  <select name="select-name" class="selectbox">
    <option value="--">選択肢</option>
    <option value="あああ">あああ</option>
    <option value="いいい">いいい</option>
    <option value="ううう">ううう</option>
  </select>
  <a href="javascript:form1.submit()">
</form>

functions.php

以下を追記
値が複数ある場合は4~8行目までを繰り返す

function my_form_tag_filter($tag)
{
if (!is_array($tag)) return $tag;
if (isset($_GET['select-name'])) {
if ($tag['name'] == 'select-name') {
$tag['values'] = (array) $_GET['select-name'];
}
}
return $tag;
}
add_filter('wpcf7_form_tag', 'my_form_tag_filter', 11);

コンタクトフォーム

default:postを追記
[select* select-name default:post]

参考にしたサイト
https://qiita.com/mitsuhiro_K/items/5cc9a2766e5953fa0bae

元のページはpostで渡しているけど、functions.phpのGETをPOSTに変えると動かない。
POSTで取得する方法もあるが、今回はこれで動いたので良しとする

メモ

知り合い曰くa href にjavascript~~の記述は違和感ありらしい
書き直せるなら、
buttonタグに変更して、スタイルも合わせて変更するほうが良い

input type="submit"でもいけるが、装飾が難しい
*button inputは、タグの機能的に送信するものだから

<a href="javascript:form1.submit()">fugafuga</a>

- プラグイン
-

関連記事

【プラグイン】contactform7のカスタマイズ

contact form7には特別なメールタグがあり、使用できる 特別なメールタグ Contact form 7 のフォームに自動的に記事タイトルを入れる方法 http://www.doya-doya ...

wordpressプラグイン contactfotm7 不要なタグを除去する

functions.phpに以下を記載 // Contact Form 7の自動pタグ無効 add_filter('wpcf7_autop_or_not', 'wpcf7_autop_return_f ...

Contactform7の添付ファイルに関する覚書き

Contactform7 で.heic形式の画像を使用できるようにする iPhoneでは、高解像度で圧縮が可能な HEAF(High Efficiency Image File Format:ハイ・エ ...