こんにちは、質問をさせてください。
WordPress (バージョン: 5.3.2)
よろしくお願いします。
wordpressのプラグイン contact form7の設定で、お名前(フリガナ)の入力の際のチェックの設定について教えてください。
予約制のサービスサイトを運営していおります。
予約フォームに入力する際に予約人数を入力し、予約者全員のお名前を入力していただくのですが、
最低予約人数は1名なので、1人目の名前(漢字)と名前(フリガナ)の入力は必須設定にしており、2人目以降の名前入力欄は、1名予約の場合もあるので必須設定ではありません。
色々調べて、お名前(フリガナ)欄にカタカナ以外で入力した場合に、送信ができないように設定したのですが、
1名で申し込んだ時は2人目以降の名前フリガナ欄の入力は必要はないので空欄のまま送信すると、2人目のフリガナ欄に「全角カタカナで入力してください」と表示されます。
フォーム設定画面のhtmlのフォームタグの「*」は外しています。
2人目をフリガナ欄を空欄にした場合でも送信できる設定をご教示お願いします。
また、下記のコードで間違っていれば訂正内容をご教示お願いします。
何卒よろしくお願いいたします。
/*フリガナチェック*/ function wpcf7_validate_kana($result,$tag){ $tag = new WPCF7_Shortcode($tag); $name = $tag->name; $value = isset($_POST[$name]) ? trim(wp_unslash(strtr((string) $_POST[$name], "\n", " "))) : ""; if ($name === "last-name-furigana") { if(!preg_match("/^[ァ-ヾ]+$/u", $value)) { $result->invalidate($tag, "全角カタカナで入力してください。"); } } if ($name === "first-name-furigana") { if(!preg_match("/^[ァ-ヾ]+$/u", $value)) { $result->invalidate($tag, "全角カタカナで入力してください。"); } } if ($name === "attendant-last-name-furigana") { if(!preg_match("/^[ァ-ヾ]+$/u", $value)) { $result->invalidate($tag, "全角カタカナで入力してください。"); } } if ($name === "attendant-first-name-furigana") { if(!preg_match("/^[ァ-ヾ]+$/u", $value)) { $result->invalidate($tag, "全角カタカナで入力してください。"); } } return $result; } add_filter('wpcf7_validate_text', 'wpcf7_validate_kana', 11, 2); add_filter('wpcf7_validate_text*', 'wpcf7_validate_kana', 11, 2);
1人目のお名前(フリガナ)
<label> セイ(必須) [text* last-name-furigana placeholder "例)ヤマダ"]</label><label> メイ (必須) [text* first-name-furigana placeholder "例)タロウ"]</label>
2人目のお名前(フリガナ)
<label> セイ
[text attendant-last-name-furigana placeholder "例)タナカ"]</label><label> メイ [text attendant-first-name-furigana placeholder "例)イチロウ"]</label>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 12:05