こんにちは。
株式会社エス・スリーのスタッフです。
今日はタイトル通り、「Contact Form7に日付エラーチェックを追加したい!」です。
予約フォームなどで、希望日程を入力する場合、開始日時<終了日時 となってほしいですね。
ただ、標準機能ではこのエラーチェックは無かったので、function.phpに追記することで実現できます。
function wpcf7_date_validation_filter( $result, $tag ) {
// 以下は入力フォームの名前によって変更
$date1 = $_POST['date-988'];
$date2 = $_POST['date-989'];
$date3 = $_POST['date-990'];
$date4 = $_POST['date-991'];
//
if($date1 != "" && $date2 != ""){
$d1 = strtotime($date1);
$d2 = strtotime($date2);
if($d1>$d2){
$tag = 'date-989';
$result->invalidate( $tag,'第1希望の日付が不正確です。');
}
}
if($date3 != "" && $date4 != ""){
$d3 = strtotime($date3);
$d4 = strtotime($date4);
if($d3>$d4){
$tag = 'date-991';
$result->invalidate( $tag,'第2希望の日付が不正確です。');
}
}
return $result;
}
add_filter( 'wpcf7_validate_date', 'wpcf7_date_validation_filter', 11, 2 );
// dateタイプの入力にチェックを適用
// 第4引数は、呼び出されるチェック関数の引数の数
最後までお読みいただき、ありがとうございました。