Contact Form 7 の自動送信メールにて、日付型をY年M月d日形式にする方法

Contact Form 7をそのまま利用していると、カレンダーから選択した日付は「2023/10/17」、もしくは「2023-10-17」という形式になります。

この形式のまま自動送信メールに[date your-date] のように設定していると、当然その部分は2023/10/17 と入力されてメールが送信されるのですが、このときにメールのみ2023年10月17日という形式にするにはどのようにすればよいか、というのが今回の解説となります。

目次

Contact Form 7はメールの日付形式をフォーマットできる

参考サイト: 日付項目

独自のカスタムプラグインや、Contact Form 7のjsファイルをいじる必要があるのかな、と思っていたのですが、どうやら純正の機能でこれを再現できるようです。

例:

[_format_your-date “D, d M y”]


上の例に見られる D、d、M、y といった文字は PHP の date 関数のマニュアルページに記載されている日付フォーマット文字です。”D, d M y” は 2013-04-08 を Mon, 08 Apr 13 としてフォーマットします。このフォーマットはローカライズの影響を受けるので、同じ “D, d M y” のフォーマットを使っていても、日本語にローカライズされた WordPress では 2013-04-08 が 月, 08 4月 13 になります。

https://contactform7.com/ja/date-field/

これをみると、下記の属性がフォーマット要素として利用できることがわかります。

D : 曜日、d : 日にち、M : 月、y : 年(後半の2桁)

これを考えると、例えば日付型の部分を [date your-date] を利用している場合、メールには [_format_your-date “20y年Md日(D)”] と記載することで、メールには「2023年10月17日(火)」と表示されます。

目次