SEARCH

CATEGORY

Contact Form 7 で生年月日を入力させる3つの方法(select / date / 自動生成)

WordPressプラグイン「Contact Form 7」で、
生年月日を入力してもらいたい場合の3つの実装方法を紹介します。

ドロップダウンメニュー(select)で選択する方法

もっともシンプルで、確実に動作するのがこの方法です。
あらかじめ用意した候補の中から、年・月・日を選んでもらいます。

この設定でできること

  • 年:2008年(2026年時点で18歳)~1966年(60歳)まで選択可能
  • 初期値:2000年
  • 月:1~12
  • 日:1~31

カレンダー(date)から選択する方法

ブラウザのカレンダーUIから選択してもらう方法です。
スマホでは特に入力しやすいのが特徴です。

この設定でできること

  • 1966年1月1日~2008年1月1日まで選択可能
  • 初期値:2000年1月1日

直接日付を指定したい場合に便利です。

※この指定は誕生日単位での厳密な年齢判定ではなく、
指定した日付範囲に含まれる生年月日を制限する方法です。

年月日を自動で生成する方法(functions.php + jQuery)

年齢制限を毎年自動で更新したい場合は、PHPで選択肢を生成する方法が便利です。

例えば「18歳以上60歳以下」といった条件でも、
現在の西暦を基準に自動計算されるため、年が変わっても修正は不要になります。
運用時の更新作業や設定ミスを防げる点が大きなメリットです。

Contact Form 7 側で年・月・日のセレクトボックスを用意し、
functions.php で最小年齢 / 最大年齢から選択肢を生成します。
さらに jQuery によって、うるう年や月ごとの日数(30日 / 31日)を自動で出し分けます。

Contact Form 7 側の記述例

実装の詳しいコードや具体的な手順については、以下の記事が非常に分かりやすくまとめられています。
より詳細に実装したい場合は、あわせて参照してみてください。

まとめ

Contact Form 7 で生年月日を入力してもらう方法には、いくつかのパターンがあります。

  • 手軽に設置できる select(ドロップダウン)形式
  • 入力しやすい date(カレンダー)形式
  • 年齢条件を自動更新できる PHP + jQuery による自動生成

運用の手間を減らしたい場合や、毎年の設定変更をなくしたい場合は、
自動生成の仕組みを取り入れるのがおすすめです。

用途や管理体制に合わせて、最適な方法を選んでみてください。